15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// found in the LICENSE file.
45d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ash/metrics/user_metrics_recorder.h"
65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ash/shelf/shelf_layout_manager.h"
85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ash/shelf/shelf_view.h"
95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ash/shelf/shelf_widget.h"
105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ash/shell.h"
115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ash/wm/window_state.h"
125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/metrics/histogram.h"
135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/metrics/user_metrics.h"
145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)namespace ash {
165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Time in seconds between calls to "RecordPeriodicMetrics".
185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)const int kAshPeriodicMetricsTimeInSeconds = 30 * 60;
195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)UserMetricsRecorder::UserMetricsRecorder() {
215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  timer_.Start(FROM_HERE,
225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)               base::TimeDelta::FromSeconds(kAshPeriodicMetricsTimeInSeconds),
235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)               this,
245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)               &UserMetricsRecorder::RecordPeriodicMetrics);
255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}
265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)UserMetricsRecorder::~UserMetricsRecorder() {
285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  timer_.Stop();
295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)void UserMetricsRecorder::RecordUserMetricsAction(UserMetricsAction action) {
325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  switch (action) {
335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_ACCEL_KEYBOARD_BRIGHTNESS_DOWN_F6:
345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("Accel_KeyboardBrightnessDown_F6"));
365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_ACCEL_KEYBOARD_BRIGHTNESS_UP_F7:
385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("Accel_KeyboardBrightnessUp_F7"));
405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_ACCEL_LOCK_SCREEN_LOCK_BUTTON:
425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("Accel_LockScreen_LockButton"));
445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_ACCEL_LOCK_SCREEN_POWER_BUTTON:
465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("Accel_LockScreen_PowerButton"));
485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_ACCEL_MAXIMIZE_RESTORE_F4:
505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("Accel_Maximize_Restore_F4"));
525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_ACCEL_PREVWINDOW_F5:
545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("Accel_PrevWindow_F5"));
555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_ACCEL_EXIT_FIRST_Q:
575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("Accel_Exit_First_Q"));
585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_ACCEL_EXIT_SECOND_Q:
605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("Accel_Exit_Second_Q"));
615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_ACCEL_SHUT_DOWN_POWER_BUTTON:
635d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("Accel_ShutDown_PowerButton"));
655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_CLOSE_THROUGH_CONTEXT_MENU:
675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("CloseFromContextMenu"));
685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_DRAG_MAXIMIZE_LEFT:
705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("WindowDrag_MaximizeLeft"));
715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_DRAG_MAXIMIZE_RIGHT:
735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("WindowDrag_MaximizeRight"));
745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
755d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_GESTURE_OVERVIEW:
765d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("Gesture_Overview"));
775d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_LAUNCHER_CLICK_ON_APP:
795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("Launcher_ClickOnApp"));
805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_LAUNCHER_CLICK_ON_APPLIST_BUTTON:
825d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
835d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("Launcher_ClickOnApplistButton"));
845d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
855d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_MOUSE_DOWN:
865d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("Mouse_Down"));
875d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
885d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_PANEL_MINIMIZE_CAPTION_CLICK:
895d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
905d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)         base::UserMetricsAction("Panel_Minimize_Caption_Click"));
915d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
925d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_PANEL_MINIMIZE_CAPTION_GESTURE:
935d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
945d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("Panel_Minimize_Caption_Gesture"));
955d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
965d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_SHELF_ALIGNMENT_SET_BOTTOM:
975d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
985d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("Shelf_AlignmentSetBottom"));
995d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1005d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_SHELF_ALIGNMENT_SET_LEFT:
1015d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1025d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("Shelf_AlignmentSetLeft"));
1035d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1045d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_SHELF_ALIGNMENT_SET_RIGHT:
1055d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1065d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("Shelf_AlignmentSetRight"));
10746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)      break;
1085d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_AUDIO_CURRENT_INPUT_DEVICE:
1095d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Audio_CurrentInputDevice"));
1115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_AUDIO_CURRENT_OUTPUT_DEVICE:
1135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Audio_CurrentOutputDevice"));
1155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_AUDIO_SWITCH_INPUT_DEVICE:
1175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Audio_SwitchInputDevice"));
1195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_AUDIO_SWITCH_OUTPUT_DEVICE:
1215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Audio_SwitchOutputDevice"));
1235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_BRIGHTNESS_CHANGED:
1255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_BrightnessChanged"));
1275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_BLUETOOTH_CONNECT_KNOWN_DEVICE:
1295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Bluetooth_Connect_Known"));
1315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_BLUETOOTH_CONNECT_UNKNOWN_DEVICE:
1335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Bluetooth_Connect_Unknown"));
1355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_BLUETOOTH_DISABLED:
1375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Bluetooth_Disabled"));
1395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_BLUETOOTH_ENABLED:
1415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Bluetooth_Enabled"));
1435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_CAPS_LOCK_DETAILED:
1455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_CapsLock_Detailed"));
1475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_CAPS_LOCK_DISABLED_BY_CLICK:
1495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_CapsLock_DisabledByClick"));
1515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_CAPS_LOCK_ENABLED_BY_CLICK:
1535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_CapsLock_EnabledByClick"));
1555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_CAPS_LOCK_POPUP:
1575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_CapsLock_Popup"));
1595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_CONNECT_TO_CONFIGURED_NETWORK:
1615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Network_ConnectConfigured"));
1635d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_CONNECT_TO_UNCONFIGURED_NETWORK:
1655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Network_ConnectUnconfigured"));
1675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_CONNECT_TO_VPN:
1695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_VPN_ConnectToNetwork"));
1715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_CHANGED_VOLUME_MENU:
1735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Volume_ChangedMenu"));
1755d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1765d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_CHANGED_VOLUME_POPUP:
1775d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Volume_ChangedPopup"));
1795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DETAILED_ACCESSABILITY:
1815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1825d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Accessability_DetailedView"));
1835d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1845d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DETAILED_AUDIO_VIEW:
1855d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1865d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Audio_Detailed"));
1875d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1885d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DETAILED_BLUETOOTH_VIEW:
1895d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1905d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Bluetooth_Detailed"));
1915d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1925d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DETAILED_BRIGHTNESS_VIEW:
1935d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1945d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Brightness_Detailed"));
1955d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
1965d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DETAILED_DRIVE_VIEW:
1975d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
1985d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Drive_Detailed"));
1995d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2005d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DETAILED_NETWORK_VIEW:
2015d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2025d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Network_Detailed"));
2035d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2045d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DETAILED_VPN_VIEW:
2055d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2065d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_VPN_Detailed"));
2075d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2085d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DISABLE_AUTO_CLICK:
2095d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_AutoClickDisabled"));
2115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DISABLE_HIGH_CONTRAST:
2135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_HighContrastDisabled"));
2155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DISABLE_LARGE_CURSOR:
2175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_LargeCursorDisabled"));
2195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DISABLE_MAGNIFIER:
2215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_MagnifierDisabled"));
2235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DISABLE_SPOKEN_FEEDBACK:
2255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_SpokenFeedbackDisabled"));
2275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DISABLE_VIRTUAL_KEYBOARD:
2295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_VirtualKeyboardDisabled"));
2315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DISABLE_WIFI:
2335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Network_WifiDisabled"));
2355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DRIVE_CANCEL_OPERATION:
2375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Drive_CancelOperation"));
2395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_DRIVE_SETTINGS:
2415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Drive_Settings"));
2435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_ENABLE_AUTO_CLICK:
2455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_AutoClickEnabled"));
2475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_ENABLE_HIGH_CONTRAST:
2495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_HighContrastEnabled"));
2515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_ENABLE_LARGE_CURSOR:
2535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_LargeCursorEnabled"));
2555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_ENABLE_MAGNIFIER:
2575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_MagnifierEnabled"));
2595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_ENABLE_SPOKEN_FEEDBACK:
2615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_SpokenFeedbackEnabled"));
2635d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_ENABLE_VIRTUAL_KEYBOARD:
2655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_VirtualKeyboardEnabled"));
2675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_ENABLE_WIFI:
2695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Network_WifiEnabled"));
2715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_IME_SHOW_DETAILED:
2735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_IME_Detailed"));
2755d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2765d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_IME_SWITCH_MODE:
2775d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_IME_SwitchMode"));
2795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_MENU_OPENED:
2815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2825d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_MenuOpened"));
2835d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2845d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_NETWORK_JOIN_OTHER_CLICKED:
2855d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2865d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Network_JoinOther"));
2875d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2885d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_NETWORK_SETTINGS_CLICKED:
2895d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2905d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Network_Settings"));
2915d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2925d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_SHOW_NETWORK_CONNECTION_DETAILS:
2935d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2945d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_Network_ConnectionDetails"));
2955d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
2965d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_SHOW_VPN_CONNECTION_DETAILS:
2975d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
2985d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_VPN_ConnectionDetails"));
2995d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3005d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_SIGN_OUT:
3015d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
3025d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_SignOut"));
3035d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3045d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_VPN_JOIN_OTHER_CLICKED:
3055d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
3065d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_VPN_JoinOther"));
3075d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3085d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_STATUS_AREA_VPN_SETTINGS_CLICKED:
3095d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
3105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("StatusArea_VPN_Settings"));
3115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_TOGGLE_MAXIMIZE_CAPTION_CLICK:
3135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
3145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("Caption_ClickTogglesMaximize"));
3155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_TOGGLE_MAXIMIZE_CAPTION_GESTURE:
3175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
3185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("Caption_GestureTogglesMaximize"));
3195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_TOGGLE_SINGLE_AXIS_MAXIMIZE_BORDER_CLICK:
3215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
3225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction(
3235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              "WindowBorder_ClickTogglesSingleAxisMaximize"));
3245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_TOUCHPAD_GESTURE_OVERVIEW:
3265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
3275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("Touchpad_Gesture_Overview"));
3285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_TOUCHSCREEN_TAP_DOWN:
3305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("Touchscreen_Down"));
3315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_TRAY_HELP:
3335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("Tray_Help"));
3345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_TRAY_LOCK_SCREEN:
3365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("Tray_LockScreen"));
3375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_TRAY_SHUT_DOWN:
3395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("Tray_ShutDown"));
3405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_WINDOW_APP_CLOSE_BUTTON_CLICK:
3425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("AppCloseButton_Clk"));
3435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_WINDOW_CLOSE_BUTTON_CLICK:
3455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("CloseButton_Clk"));
3465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_EXIT_FULLSCREEN:
3485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("MaxButton_Clk_ExitFS"));
3495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_RESTORE:
3515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
3525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("MaxButton_Clk_Restore"));
3535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_MAXIMIZE:
3555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
3565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("MaxButton_Clk_Maximize"));
3575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_MINIMIZE:
3595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("MinButton_Clk"));
3605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_WINDOW_MAXIMIZE_BUTTON_MAXIMIZE_LEFT:
3625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("MaxButton_MaxLeft"));
3635d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_WINDOW_MAXIMIZE_BUTTON_MAXIMIZE_RIGHT:
3655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(base::UserMetricsAction("MaxButton_MaxRight"));
3665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    case ash::UMA_WINDOW_OVERVIEW:
3685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
3695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          base::UserMetricsAction("WindowSelector_Overview"));
3705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
371f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    case ash::UMA_WINDOW_OVERVIEW_ENTER_KEY:
3725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      base::RecordAction(
373f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)          base::UserMetricsAction("WindowSelector_OverviewEnterKey"));
374f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)      break;
375f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    case ash::UMA_WINDOW_CYCLE:
376f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)      base::RecordAction(
377f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)          base::UserMetricsAction("WindowCycleController_Cycle"));
3785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      break;
3795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  }
3805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}
3815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
3825d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)void UserMetricsRecorder::RecordPeriodicMetrics() {
383c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  ShelfLayoutManager* manager =
384c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch      ShelfLayoutManager::ForShelf(Shell::GetPrimaryRootWindow());
3855d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  if (manager) {
3865d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    UMA_HISTOGRAM_ENUMERATION("Ash.ShelfAlignmentOverTime",
387c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                              manager->SelectValueForShelfAlignment(
388c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                                  SHELF_ALIGNMENT_UMA_ENUM_VALUE_BOTTOM,
389c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                                  SHELF_ALIGNMENT_UMA_ENUM_VALUE_LEFT,
390c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                                  SHELF_ALIGNMENT_UMA_ENUM_VALUE_RIGHT,
391c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                                  -1),
392c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                              SHELF_ALIGNMENT_UMA_ENUM_VALUE_COUNT);
3935d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  }
3945d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
395a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  enum ActiveWindowStateType {
396a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    ACTIVE_WINDOW_STATE_TYPE_NO_ACTIVE_WINDOW,
397a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    ACTIVE_WINDOW_STATE_TYPE_OTHER,
398a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    ACTIVE_WINDOW_STATE_TYPE_MAXIMIZED,
399a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    ACTIVE_WINDOW_STATE_TYPE_FULLSCREEN,
400a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    ACTIVE_WINDOW_STATE_TYPE_SNAPPED,
401a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    ACTIVE_WINDOW_STATE_TYPE_COUNT
4025d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  };
4035d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
404a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  ActiveWindowStateType active_window_state_type =
405a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      ACTIVE_WINDOW_STATE_TYPE_NO_ACTIVE_WINDOW;
4065d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  wm::WindowState* active_window_state = ash::wm::GetActiveWindowState();
4075d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  if (active_window_state) {
408f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)    switch (active_window_state->GetStateType()) {
409a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      case wm::WINDOW_STATE_TYPE_MAXIMIZED:
410a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)        active_window_state_type = ACTIVE_WINDOW_STATE_TYPE_MAXIMIZED;
4115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        break;
412a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      case wm::WINDOW_STATE_TYPE_FULLSCREEN:
413a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)        active_window_state_type = ACTIVE_WINDOW_STATE_TYPE_FULLSCREEN;
4145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        break;
415a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      case wm::WINDOW_STATE_TYPE_LEFT_SNAPPED:
416a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      case wm::WINDOW_STATE_TYPE_RIGHT_SNAPPED:
417a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)        active_window_state_type = ACTIVE_WINDOW_STATE_TYPE_SNAPPED;
4185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        break;
419a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      case wm::WINDOW_STATE_TYPE_DEFAULT:
420a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      case wm::WINDOW_STATE_TYPE_NORMAL:
421a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      case wm::WINDOW_STATE_TYPE_MINIMIZED:
422a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      case wm::WINDOW_STATE_TYPE_INACTIVE:
423a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      case wm::WINDOW_STATE_TYPE_DETACHED:
424a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      case wm::WINDOW_STATE_TYPE_END:
425a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      case wm::WINDOW_STATE_TYPE_AUTO_POSITIONED:
426a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)        active_window_state_type = ACTIVE_WINDOW_STATE_TYPE_OTHER;
4275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        break;
4285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    }
4295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  }
4305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  UMA_HISTOGRAM_ENUMERATION("Ash.ActiveWindowShowTypeOverTime",
431a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            active_window_state_type,
432a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                            ACTIVE_WINDOW_STATE_TYPE_COUNT);
4335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}
4345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
4355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}  // namespace ash
436