diff options
author | skuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-13 01:50:27 +0000 |
---|---|---|
committer | skuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-13 01:50:27 +0000 |
commit | 438e3b827f556f8f307d8f728e9c4b8e797c55e6 (patch) | |
tree | b2486ccfd78046e64820e04aac1f7b14d3918562 /ash | |
parent | 0eadb9b0ef4bed038a71ae8cdce012d1c4ead6fc (diff) | |
download | chromium_src-438e3b827f556f8f307d8f728e9c4b8e797c55e6.zip chromium_src-438e3b827f556f8f307d8f728e9c4b8e797c55e6.tar.gz chromium_src-438e3b827f556f8f307d8f728e9c4b8e797c55e6.tar.bz2 |
Added various UMA statistics values for different WM functions
* Window Close through click on the X button
* Window Close through Ctrl+W or Ctrl+Shift+W
* Maximize via click on the maximize button
* Restore via click on maximize button
* Minimize via click on minimize or drag down
* Minimize via Alt + - or Ctrl + M
* Immersive mode via Fullscreen button
* Exit Immersive mode via button
BUG=229465
TEST=visual using chrome://user-actions
Review URL: https://chromiumcodereview.appspot.com/14088005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194069 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r-- | ash/accelerators/accelerator_controller.cc | 2 | ||||
-rw-r--r-- | ash/shell_delegate.h | 20 | ||||
-rw-r--r-- | ash/wm/custom_frame_view_ash.cc | 16 | ||||
-rw-r--r-- | ash/wm/maximize_bubble_controller.cc | 2 | ||||
-rw-r--r-- | ash/wm/workspace/frame_maximize_button.cc | 13 |
5 files changed, 38 insertions, 15 deletions
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc index 3728d43..9face4f 100644 --- a/ash/accelerators/accelerator_controller.cc +++ b/ash/accelerators/accelerator_controller.cc @@ -780,6 +780,8 @@ bool AcceleratorController::PerformAction(int action, // crbug.com/131709, which is a crashing issue related to minimizing // full screen pepper window. if (!wm::IsWindowFullscreen(window) && wm::CanMinimizeWindow(window)) { + ash::Shell::GetInstance()->delegate()->RecordUserMetricsAction( + ash::UMA_MINIMIZE_PER_KEY); wm::MinimizeWindow(window); return true; } diff --git a/ash/shell_delegate.h b/ash/shell_delegate.h index e57eebd..ce1c3a1 100644 --- a/ash/shell_delegate.h +++ b/ash/shell_delegate.h @@ -62,14 +62,10 @@ enum UserMetricsAction { UMA_ACCEL_PREVWINDOW_TAB, UMA_ACCEL_SEARCH_LWIN, UMA_ACCEL_SHUT_DOWN_POWER_BUTTON, - UMA_MAXIMIZE_BUTTON_MAXIMIZE, - UMA_MAXIMIZE_BUTTON_MAXIMIZE_LEFT, - UMA_MAXIMIZE_BUTTON_MAXIMIZE_RIGHT, - UMA_MAXIMIZE_BUTTON_MINIMIZE, - UMA_MAXIMIZE_BUTTON_RESTORE, - UMA_MAXIMIZE_BUTTON_SHOW_BUBBLE, + UMA_CLOSE_THROUGH_CONTEXT_MENU, UMA_LAUNCHER_CLICK_ON_APP, UMA_LAUNCHER_CLICK_ON_APPLIST_BUTTON, + UMA_MINIMIZE_PER_KEY, UMA_MOUSE_DOWN, UMA_TOGGLE_MAXIMIZE_CAPTION_CLICK, UMA_TOGGLE_MAXIMIZE_CAPTION_GESTURE, @@ -77,6 +73,18 @@ enum UserMetricsAction { UMA_TRAY_HELP, UMA_TRAY_LOCK_SCREEN, UMA_TRAY_SHUT_DOWN, + UMA_WINDOW_APP_CLOSE_BUTTON_CLICK, + UMA_WINDOW_CLOSE_BUTTON_CLICK, + UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_EXIT_FULLSCREEN, + UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_MAXIMIZE, + UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_MINIMIZE, + UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_RESTORE, + UMA_WINDOW_MAXIMIZE_BUTTON_MAXIMIZE, + UMA_WINDOW_MAXIMIZE_BUTTON_MAXIMIZE_LEFT, + UMA_WINDOW_MAXIMIZE_BUTTON_MAXIMIZE_RIGHT, + UMA_WINDOW_MAXIMIZE_BUTTON_MINIMIZE, + UMA_WINDOW_MAXIMIZE_BUTTON_RESTORE, + UMA_WINDOW_MAXIMIZE_BUTTON_SHOW_BUBBLE, }; enum AccessibilityNotificationVisibility { diff --git a/ash/wm/custom_frame_view_ash.cc b/ash/wm/custom_frame_view_ash.cc index 6350e9a..72c62ee 100644 --- a/ash/wm/custom_frame_view_ash.cc +++ b/ash/wm/custom_frame_view_ash.cc @@ -4,6 +4,7 @@ #include "ash/wm/custom_frame_view_ash.h" +#include "ash/shell_delegate.h" #include "ash/wm/frame_painter.h" #include "ash/wm/workspace/frame_maximize_button.h" #include "grit/ash_resources.h" @@ -170,17 +171,28 @@ void CustomFrameViewAsh::ButtonPressed(views::Button* sender, slow_duration_mode.reset(new ui::ScopedAnimationDurationScaleMode( ui::ScopedAnimationDurationScaleMode::SLOW_DURATION)); } + + ash::UserMetricsAction action = + ash::UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_MAXIMIZE; + if (sender == maximize_button_) { // The maximize button may move out from under the cursor. ResetWindowControls(); - if (frame_->IsMaximized()) + if (frame_->IsMaximized()) { + action = ash::UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_RESTORE; frame_->Restore(); - else + } else { frame_->Maximize(); + } // |this| may be deleted - some windows delete their frames on maximize. } else if (sender == close_button_) { + action = ash::UMA_WINDOW_CLOSE_BUTTON_CLICK; frame_->Close(); + } else { + return; } + + ash::Shell::GetInstance()->delegate()->RecordUserMetricsAction(action); } //////////////////////////////////////////////////////////////////////////////// diff --git a/ash/wm/maximize_bubble_controller.cc b/ash/wm/maximize_bubble_controller.cc index fa5b2ed..3913546 100644 --- a/ash/wm/maximize_bubble_controller.cc +++ b/ash/wm/maximize_bubble_controller.cc @@ -429,7 +429,7 @@ MaximizeBubbleController::Bubble::Bubble( StartFade(true); ash::Shell::GetInstance()->delegate()->RecordUserMetricsAction( - ash::UMA_MAXIMIZE_BUTTON_SHOW_BUBBLE); + ash::UMA_WINDOW_MAXIMIZE_BUTTON_SHOW_BUBBLE); mouse_watcher_.reset(new views::MouseWatcher( new BubbleMouseWatcherHost(this), diff --git a/ash/wm/workspace/frame_maximize_button.cc b/ash/wm/workspace/frame_maximize_button.cc index c7dd3bd..a6262f9 100644 --- a/ash/wm/workspace/frame_maximize_button.cc +++ b/ash/wm/workspace/frame_maximize_button.cc @@ -514,8 +514,9 @@ void FrameMaximizeButton::Snap(const SnapSizer& snap_sizer) { case SNAP_LEFT: case SNAP_RIGHT: { shell->delegate()->RecordUserMetricsAction( - snap_type_ == SNAP_LEFT ? ash::UMA_MAXIMIZE_BUTTON_MAXIMIZE_LEFT : - ash::UMA_MAXIMIZE_BUTTON_MAXIMIZE_RIGHT); + snap_type_ == SNAP_LEFT ? + ash::UMA_WINDOW_MAXIMIZE_BUTTON_MAXIMIZE_LEFT : + ash::UMA_WINDOW_MAXIMIZE_BUTTON_MAXIMIZE_RIGHT); // Get the bounds in screen coordinates for restore purposes. gfx::Rect restore = widget->GetWindowBoundsInScreen(); if (widget->IsMaximized() || widget->IsFullscreen()) { @@ -558,17 +559,17 @@ void FrameMaximizeButton::Snap(const SnapSizer& snap_sizer) { case SNAP_MAXIMIZE: widget->Maximize(); shell->delegate()->RecordUserMetricsAction( - ash::UMA_MAXIMIZE_BUTTON_MAXIMIZE); + ash::UMA_WINDOW_MAXIMIZE_BUTTON_MAXIMIZE); break; case SNAP_MINIMIZE: widget->Minimize(); shell->delegate()->RecordUserMetricsAction( - ash::UMA_MAXIMIZE_BUTTON_MINIMIZE); + ash::UMA_WINDOW_MAXIMIZE_BUTTON_MINIMIZE); break; case SNAP_RESTORE: widget->Restore(); shell->delegate()->RecordUserMetricsAction( - ash::UMA_MAXIMIZE_BUTTON_RESTORE); + ash::UMA_WINDOW_MAXIMIZE_BUTTON_RESTORE); break; case SNAP_NONE: NOTREACHED(); @@ -576,7 +577,7 @@ void FrameMaximizeButton::Snap(const SnapSizer& snap_sizer) { } MaximizeBubbleFrameState - FrameMaximizeButton::GetMaximizeBubbleFrameState() const { +FrameMaximizeButton::GetMaximizeBubbleFrameState() const { // When there are no restore bounds, we are in normal mode. if (!ash::GetRestoreBoundsInScreen( frame_->GetWidget()->GetNativeWindow())) |