OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ash/shelf/shelf_button_pressed_metric_tracker.h" | 5 #include "ash/shelf/shelf_button_pressed_metric_tracker.h" |
6 | 6 |
7 #include "ash/wm_shell.h" | 7 #include "ash/shell_port.h" |
8 #include "base/metrics/histogram_macros.h" | 8 #include "base/metrics/histogram_macros.h" |
9 #include "base/time/default_tick_clock.h" | 9 #include "base/time/default_tick_clock.h" |
10 #include "ui/views/controls/button/button.h" | 10 #include "ui/views/controls/button/button.h" |
11 | 11 |
12 namespace ash { | 12 namespace ash { |
13 | 13 |
14 const char ShelfButtonPressedMetricTracker:: | 14 const char ShelfButtonPressedMetricTracker:: |
15 kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName[] = | 15 kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName[] = |
16 "Ash.Shelf.TimeBetweenWindowMinimizedAndActivatedActions"; | 16 "Ash.Shelf.TimeBetweenWindowMinimizedAndActivatedActions"; |
17 | 17 |
(...skipping 23 matching lines...) Expand all Loading... |
41 break; | 41 break; |
42 } | 42 } |
43 | 43 |
44 if (performed_action != SHELF_ACTION_WINDOW_MINIMIZED) | 44 if (performed_action != SHELF_ACTION_WINDOW_MINIMIZED) |
45 ResetMinimizedData(); | 45 ResetMinimizedData(); |
46 } | 46 } |
47 | 47 |
48 void ShelfButtonPressedMetricTracker::RecordButtonPressedSource( | 48 void ShelfButtonPressedMetricTracker::RecordButtonPressedSource( |
49 const ui::Event& event) { | 49 const ui::Event& event) { |
50 if (event.IsMouseEvent()) { | 50 if (event.IsMouseEvent()) { |
51 WmShell::Get()->RecordUserMetricsAction( | 51 ShellPort::Get()->RecordUserMetricsAction( |
52 UMA_LAUNCHER_BUTTON_PRESSED_WITH_MOUSE); | 52 UMA_LAUNCHER_BUTTON_PRESSED_WITH_MOUSE); |
53 } else if (event.IsGestureEvent()) { | 53 } else if (event.IsGestureEvent()) { |
54 WmShell::Get()->RecordUserMetricsAction( | 54 ShellPort::Get()->RecordUserMetricsAction( |
55 UMA_LAUNCHER_BUTTON_PRESSED_WITH_TOUCH); | 55 UMA_LAUNCHER_BUTTON_PRESSED_WITH_TOUCH); |
56 } | 56 } |
57 } | 57 } |
58 | 58 |
59 void ShelfButtonPressedMetricTracker::RecordButtonPressedAction( | 59 void ShelfButtonPressedMetricTracker::RecordButtonPressedAction( |
60 ShelfAction performed_action) { | 60 ShelfAction performed_action) { |
61 switch (performed_action) { | 61 switch (performed_action) { |
62 case SHELF_ACTION_NONE: | 62 case SHELF_ACTION_NONE: |
63 case SHELF_ACTION_APP_LIST_SHOWN: | 63 case SHELF_ACTION_APP_LIST_SHOWN: |
64 break; | 64 break; |
65 case SHELF_ACTION_NEW_WINDOW_CREATED: | 65 case SHELF_ACTION_NEW_WINDOW_CREATED: |
66 WmShell::Get()->RecordUserMetricsAction(UMA_LAUNCHER_LAUNCH_TASK); | 66 ShellPort::Get()->RecordUserMetricsAction(UMA_LAUNCHER_LAUNCH_TASK); |
67 break; | 67 break; |
68 case SHELF_ACTION_WINDOW_ACTIVATED: | 68 case SHELF_ACTION_WINDOW_ACTIVATED: |
69 WmShell::Get()->RecordUserMetricsAction(UMA_LAUNCHER_SWITCH_TASK); | 69 ShellPort::Get()->RecordUserMetricsAction(UMA_LAUNCHER_SWITCH_TASK); |
70 break; | 70 break; |
71 case SHELF_ACTION_WINDOW_MINIMIZED: | 71 case SHELF_ACTION_WINDOW_MINIMIZED: |
72 WmShell::Get()->RecordUserMetricsAction(UMA_LAUNCHER_MINIMIZE_TASK); | 72 ShellPort::Get()->RecordUserMetricsAction(UMA_LAUNCHER_MINIMIZE_TASK); |
73 break; | 73 break; |
74 } | 74 } |
75 } | 75 } |
76 | 76 |
77 void ShelfButtonPressedMetricTracker::RecordTimeBetweenMinimizedAndActivated() { | 77 void ShelfButtonPressedMetricTracker::RecordTimeBetweenMinimizedAndActivated() { |
78 UMA_HISTOGRAM_TIMES( | 78 UMA_HISTOGRAM_TIMES( |
79 kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, | 79 kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, |
80 tick_clock_->NowTicks() - time_of_last_minimize_); | 80 tick_clock_->NowTicks() - time_of_last_minimize_); |
81 } | 81 } |
82 | 82 |
83 bool ShelfButtonPressedMetricTracker::IsSubsequentActivationEvent( | 83 bool ShelfButtonPressedMetricTracker::IsSubsequentActivationEvent( |
84 const views::Button* sender) const { | 84 const views::Button* sender) const { |
85 return time_of_last_minimize_ != base::TimeTicks() && | 85 return time_of_last_minimize_ != base::TimeTicks() && |
86 last_minimized_source_button_ == sender; | 86 last_minimized_source_button_ == sender; |
87 } | 87 } |
88 | 88 |
89 void ShelfButtonPressedMetricTracker::SetMinimizedData( | 89 void ShelfButtonPressedMetricTracker::SetMinimizedData( |
90 const views::Button* sender) { | 90 const views::Button* sender) { |
91 last_minimized_source_button_ = sender; | 91 last_minimized_source_button_ = sender; |
92 time_of_last_minimize_ = tick_clock_->NowTicks(); | 92 time_of_last_minimize_ = tick_clock_->NowTicks(); |
93 } | 93 } |
94 | 94 |
95 void ShelfButtonPressedMetricTracker::ResetMinimizedData() { | 95 void ShelfButtonPressedMetricTracker::ResetMinimizedData() { |
96 last_minimized_source_button_ = nullptr; | 96 last_minimized_source_button_ = nullptr; |
97 time_of_last_minimize_ = base::TimeTicks(); | 97 time_of_last_minimize_ = base::TimeTicks(); |
98 } | 98 } |
99 | 99 |
100 } // namespace ash | 100 } // namespace ash |
OLD | NEW |