ash: Add UMA action metrics for Ctrl-Shift-Q

BUG=none
TEST=uma.googleplex.com gains a user action entry from Accel_Exit_First_Q and Accel_Exit_Second_Q
R=sschmitz@chromium.org
TBR=sschmitz@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15841006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202421 0039d316-1c4b-4281-b951-d872f2087c98
parent 745905ab
...@@ -582,6 +582,7 @@ bool AcceleratorController::PerformAction(int action, ...@@ -582,6 +582,7 @@ bool AcceleratorController::PerformAction(int action,
ash::Shell::GetInstance()->delegate()->OpenFeedbackPage(); ash::Shell::GetInstance()->delegate()->OpenFeedbackPage();
return true; return true;
case EXIT: case EXIT:
// UMA metrics are recorded in the handler.
exit_warning_handler_.HandleAccelerator(); exit_warning_handler_.HandleAccelerator();
return true; return true;
case NEW_INCOGNITO_WINDOW: case NEW_INCOGNITO_WINDOW:
......
...@@ -114,17 +114,20 @@ ExitWarningHandler::~ExitWarningHandler() { ...@@ -114,17 +114,20 @@ ExitWarningHandler::~ExitWarningHandler() {
} }
void ExitWarningHandler::HandleAccelerator() { void ExitWarningHandler::HandleAccelerator() {
ShellDelegate* shell_delegate = Shell::GetInstance()->delegate();
switch (state_) { switch (state_) {
case IDLE: case IDLE:
state_ = WAIT_FOR_DOUBLE_PRESS; state_ = WAIT_FOR_DOUBLE_PRESS;
Show(); Show();
StartTimer(); StartTimer();
shell_delegate->RecordUserMetricsAction(UMA_ACCEL_EXIT_FIRST_Q);
break; break;
case WAIT_FOR_DOUBLE_PRESS: case WAIT_FOR_DOUBLE_PRESS:
state_ = EXITING; state_ = EXITING;
CancelTimer(); CancelTimer();
Hide(); Hide();
Shell::GetInstance()->delegate()->Exit(); shell_delegate->RecordUserMetricsAction(UMA_ACCEL_EXIT_SECOND_Q);
shell_delegate->Exit();
break; break;
case EXITING: case EXITING:
break; break;
......
...@@ -62,6 +62,8 @@ enum UserMetricsAction { ...@@ -62,6 +62,8 @@ enum UserMetricsAction {
UMA_ACCEL_NEXTWINDOW_TAB, UMA_ACCEL_NEXTWINDOW_TAB,
UMA_ACCEL_PREVWINDOW_F5, UMA_ACCEL_PREVWINDOW_F5,
UMA_ACCEL_PREVWINDOW_TAB, UMA_ACCEL_PREVWINDOW_TAB,
UMA_ACCEL_EXIT_FIRST_Q,
UMA_ACCEL_EXIT_SECOND_Q,
UMA_ACCEL_SEARCH_LWIN, UMA_ACCEL_SEARCH_LWIN,
UMA_ACCEL_SHUT_DOWN_POWER_BUTTON, UMA_ACCEL_SHUT_DOWN_POWER_BUTTON,
UMA_CLOSE_THROUGH_CONTEXT_MENU, UMA_CLOSE_THROUGH_CONTEXT_MENU,
...@@ -230,7 +232,7 @@ class ASH_EXPORT ShellDelegate { ...@@ -230,7 +232,7 @@ class ASH_EXPORT ShellDelegate {
virtual void HandleMediaPrevTrack() = 0; virtual void HandleMediaPrevTrack() = 0;
// Produces l10n-ed text of remaining time, e.g.: "13 minutes left" or // Produces l10n-ed text of remaining time, e.g.: "13 minutes left" or
// "13 Minuten übrig". // "13 Minuten links".
// Used, for example, to display the remaining battery life. // Used, for example, to display the remaining battery life.
virtual base::string16 GetTimeRemainingString(base::TimeDelta delta) = 0; virtual base::string16 GetTimeRemainingString(base::TimeDelta delta) = 0;
......
...@@ -312,6 +312,12 @@ void ChromeShellDelegate::RecordUserMetricsAction( ...@@ -312,6 +312,12 @@ void ChromeShellDelegate::RecordUserMetricsAction(
case ash::UMA_ACCEL_PREVWINDOW_TAB: case ash::UMA_ACCEL_PREVWINDOW_TAB:
content::RecordAction(content::UserMetricsAction("Accel_PrevWindow_Tab")); content::RecordAction(content::UserMetricsAction("Accel_PrevWindow_Tab"));
break; break;
case ash::UMA_ACCEL_EXIT_FIRST_Q:
content::RecordAction(content::UserMetricsAction("Accel_Exit_First_Q"));
break;
case ash::UMA_ACCEL_EXIT_SECOND_Q:
content::RecordAction(content::UserMetricsAction("Accel_Exit_Second_Q"));
break;
case ash::UMA_ACCEL_SEARCH_LWIN: case ash::UMA_ACCEL_SEARCH_LWIN:
content::RecordAction(content::UserMetricsAction("Accel_Search_LWin")); content::RecordAction(content::UserMetricsAction("Accel_Search_LWin"));
break; break;
......
...@@ -48,6 +48,8 @@ ...@@ -48,6 +48,8 @@
0x651680cc43f0574d Accel_Back_Left 0x651680cc43f0574d Accel_Back_Left
0x9d53a3047a707543 Accel_BrightnessDown_F6 0x9d53a3047a707543 Accel_BrightnessDown_F6
0xb05e783429d6cfac Accel_BrightnessUp_F7 0xb05e783429d6cfac Accel_BrightnessUp_F7
0x2fa7197377421869 Accel_Exit_First_Q
0x75c842188f8d6864 Accel_Exit_Second_Q
0x7f2c75700d286c16 Accel_FocusLocation_D 0x7f2c75700d286c16 Accel_FocusLocation_D
0xe566241731cecfbb Accel_FocusLocation_L 0xe566241731cecfbb Accel_FocusLocation_L
0xb4f736d60280d914 Accel_FocusSearch_E 0xb4f736d60280d914 Accel_FocusSearch_E
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment