| 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 <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "ash/public/cpp/config.h" |
| 9 #include "ash/shelf/wm_shelf.h" | 10 #include "ash/shelf/wm_shelf.h" |
| 10 #include "ash/shell_port.h" | 11 #include "ash/shell.h" |
| 11 #include "ash/test/ash_test_base.h" | 12 #include "ash/test/ash_test_base.h" |
| 12 #include "ash/test/shelf_button_pressed_metric_tracker_test_api.h" | 13 #include "ash/test/shelf_button_pressed_metric_tracker_test_api.h" |
| 13 #include "ash/test/shelf_view_test_api.h" | 14 #include "ash/test/shelf_view_test_api.h" |
| 14 #include "base/macros.h" | 15 #include "base/macros.h" |
| 15 #include "base/test/histogram_tester.h" | 16 #include "base/test/histogram_tester.h" |
| 16 #include "base/test/simple_test_tick_clock.h" | 17 #include "base/test/simple_test_tick_clock.h" |
| 17 #include "base/test/user_action_tester.h" | 18 #include "base/test/user_action_tester.h" |
| 18 #include "testing/gtest/include/gtest/gtest.h" | 19 #include "testing/gtest/include/gtest/gtest.h" |
| 19 #include "ui/events/event.h" | 20 #include "ui/events/event.h" |
| 20 #include "ui/views/controls/button/button.h" | 21 #include "ui/views/controls/button/button.h" |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 metric_tracker_->ButtonPressed(kDummyEvent, sender, performed_action); | 149 metric_tracker_->ButtonPressed(kDummyEvent, sender, performed_action); |
| 149 } | 150 } |
| 150 | 151 |
| 151 } // namespace | 152 } // namespace |
| 152 | 153 |
| 153 // Verifies that a Launcher_ButtonPressed_Mouse UMA user action is recorded when | 154 // Verifies that a Launcher_ButtonPressed_Mouse UMA user action is recorded when |
| 154 // a button is pressed by a mouse event. | 155 // a button is pressed by a mouse event. |
| 155 TEST_F(ShelfButtonPressedMetricTrackerTest, | 156 TEST_F(ShelfButtonPressedMetricTrackerTest, |
| 156 Launcher_ButtonPressed_MouseIsRecordedWhenIconActivatedByMouse) { | 157 Launcher_ButtonPressed_MouseIsRecordedWhenIconActivatedByMouse) { |
| 157 // TODO: investigate failure in mash. http://crbug.com/695565. | 158 // TODO: investigate failure in mash. http://crbug.com/695565. |
| 158 if (ShellPort::Get()->IsRunningInMash()) | 159 if (Shell::GetAshConfig() == Config::MASH) |
| 159 return; | 160 return; |
| 160 | 161 |
| 161 const ui::MouseEvent mouse_event(ui::ET_MOUSE_PRESSED, gfx::Point(), | 162 const ui::MouseEvent mouse_event(ui::ET_MOUSE_PRESSED, gfx::Point(), |
| 162 gfx::Point(), base::TimeTicks(), 0, 0); | 163 gfx::Point(), base::TimeTicks(), 0, 0); |
| 163 | 164 |
| 164 base::UserActionTester user_action_tester; | 165 base::UserActionTester user_action_tester; |
| 165 ButtonPressed(mouse_event); | 166 ButtonPressed(mouse_event); |
| 166 EXPECT_EQ(1, | 167 EXPECT_EQ(1, |
| 167 user_action_tester.GetActionCount("Launcher_ButtonPressed_Mouse")); | 168 user_action_tester.GetActionCount("Launcher_ButtonPressed_Mouse")); |
| 168 } | 169 } |
| 169 | 170 |
| 170 // Verifies that a Launcher_ButtonPressed_Touch UMA user action is recorded when | 171 // Verifies that a Launcher_ButtonPressed_Touch UMA user action is recorded when |
| 171 // a button is pressed by a touch event. | 172 // a button is pressed by a touch event. |
| 172 TEST_F(ShelfButtonPressedMetricTrackerTest, | 173 TEST_F(ShelfButtonPressedMetricTrackerTest, |
| 173 Launcher_ButtonPressed_MouseIsRecordedWhenIconActivatedByTouch) { | 174 Launcher_ButtonPressed_MouseIsRecordedWhenIconActivatedByTouch) { |
| 174 // TODO: investigate failure in mash. http://crbug.com/695565. | 175 // TODO: investigate failure in mash. http://crbug.com/695565. |
| 175 if (ShellPort::Get()->IsRunningInMash()) | 176 if (Shell::GetAshConfig() == Config::MASH) |
| 176 return; | 177 return; |
| 177 | 178 |
| 178 const ui::TouchEvent touch_event( | 179 const ui::TouchEvent touch_event( |
| 179 ui::ET_GESTURE_TAP, gfx::Point(), base::TimeTicks(), | 180 ui::ET_GESTURE_TAP, gfx::Point(), base::TimeTicks(), |
| 180 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH, 0)); | 181 ui::PointerDetails(ui::EventPointerType::POINTER_TYPE_TOUCH, 0)); |
| 181 | 182 |
| 182 base::UserActionTester user_action_tester; | 183 base::UserActionTester user_action_tester; |
| 183 ButtonPressed(touch_event); | 184 ButtonPressed(touch_event); |
| 184 EXPECT_EQ(1, | 185 EXPECT_EQ(1, |
| 185 user_action_tester.GetActionCount("Launcher_ButtonPressed_Touch")); | 186 user_action_tester.GetActionCount("Launcher_ButtonPressed_Touch")); |
| 186 } | 187 } |
| 187 | 188 |
| 188 // Verifies that a Launcher_LaunchTask UMA user action is recorded when | 189 // Verifies that a Launcher_LaunchTask UMA user action is recorded when |
| 189 // pressing a button causes a new window to be created. | 190 // pressing a button causes a new window to be created. |
| 190 TEST_F(ShelfButtonPressedMetricTrackerTest, | 191 TEST_F(ShelfButtonPressedMetricTrackerTest, |
| 191 Launcher_LaunchTaskIsRecordedWhenNewWindowIsCreated) { | 192 Launcher_LaunchTaskIsRecordedWhenNewWindowIsCreated) { |
| 192 // TODO: investigate failure in mash. http://crbug.com/695565. | 193 // TODO: investigate failure in mash. http://crbug.com/695565. |
| 193 if (ShellPort::Get()->IsRunningInMash()) | 194 if (Shell::GetAshConfig() == Config::MASH) |
| 194 return; | 195 return; |
| 195 | 196 |
| 196 base::UserActionTester user_action_tester; | 197 base::UserActionTester user_action_tester; |
| 197 ButtonPressed(SHELF_ACTION_NEW_WINDOW_CREATED); | 198 ButtonPressed(SHELF_ACTION_NEW_WINDOW_CREATED); |
| 198 EXPECT_EQ(1, user_action_tester.GetActionCount("Launcher_LaunchTask")); | 199 EXPECT_EQ(1, user_action_tester.GetActionCount("Launcher_LaunchTask")); |
| 199 } | 200 } |
| 200 | 201 |
| 201 // Verifies that a Launcher_MinimizeTask UMA user action is recorded when | 202 // Verifies that a Launcher_MinimizeTask UMA user action is recorded when |
| 202 // pressing a button causes an existing window to be minimized. | 203 // pressing a button causes an existing window to be minimized. |
| 203 TEST_F(ShelfButtonPressedMetricTrackerTest, | 204 TEST_F(ShelfButtonPressedMetricTrackerTest, |
| 204 Launcher_MinimizeTaskIsRecordedWhenWindowIsMinimized) { | 205 Launcher_MinimizeTaskIsRecordedWhenWindowIsMinimized) { |
| 205 // TODO: investigate failure in mash. http://crbug.com/695565. | 206 // TODO: investigate failure in mash. http://crbug.com/695565. |
| 206 if (ShellPort::Get()->IsRunningInMash()) | 207 if (Shell::GetAshConfig() == Config::MASH) |
| 207 return; | 208 return; |
| 208 | 209 |
| 209 base::UserActionTester user_action_tester; | 210 base::UserActionTester user_action_tester; |
| 210 ButtonPressed(SHELF_ACTION_WINDOW_MINIMIZED); | 211 ButtonPressed(SHELF_ACTION_WINDOW_MINIMIZED); |
| 211 EXPECT_EQ(1, user_action_tester.GetActionCount("Launcher_MinimizeTask")); | 212 EXPECT_EQ(1, user_action_tester.GetActionCount("Launcher_MinimizeTask")); |
| 212 } | 213 } |
| 213 | 214 |
| 214 // Verifies that a Launcher_SwitchTask UMA user action is recorded when | 215 // Verifies that a Launcher_SwitchTask UMA user action is recorded when |
| 215 // pressing a button causes an existing window to be activated. | 216 // pressing a button causes an existing window to be activated. |
| 216 TEST_F(ShelfButtonPressedMetricTrackerTest, | 217 TEST_F(ShelfButtonPressedMetricTrackerTest, |
| 217 Launcher_SwitchTaskIsRecordedWhenExistingWindowIsActivated) { | 218 Launcher_SwitchTaskIsRecordedWhenExistingWindowIsActivated) { |
| 218 // TODO: investigate failure in mash. http://crbug.com/695565. | 219 // TODO: investigate failure in mash. http://crbug.com/695565. |
| 219 if (ShellPort::Get()->IsRunningInMash()) | 220 if (Shell::GetAshConfig() == Config::MASH) |
| 220 return; | 221 return; |
| 221 | 222 |
| 222 base::UserActionTester user_action_tester; | 223 base::UserActionTester user_action_tester; |
| 223 ButtonPressed(SHELF_ACTION_WINDOW_ACTIVATED); | 224 ButtonPressed(SHELF_ACTION_WINDOW_ACTIVATED); |
| 224 EXPECT_EQ(1, user_action_tester.GetActionCount("Launcher_SwitchTask")); | 225 EXPECT_EQ(1, user_action_tester.GetActionCount("Launcher_SwitchTask")); |
| 225 } | 226 } |
| 226 | 227 |
| 227 // Verify that a window activation action will record a data point if it was | 228 // Verify that a window activation action will record a data point if it was |
| 228 // subsequent to a minimize action. | 229 // subsequent to a minimize action. |
| 229 TEST_F(ShelfButtonPressedMetricTrackerTest, | 230 TEST_F(ShelfButtonPressedMetricTrackerTest, |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 306 | 307 |
| 307 histogram_tester.ExpectTotalCount( | 308 histogram_tester.ExpectTotalCount( |
| 308 kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, 1); | 309 kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, 1); |
| 309 histogram_tester.ExpectBucketCount( | 310 histogram_tester.ExpectBucketCount( |
| 310 kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, | 311 kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, |
| 311 kTimeDeltaInMilliseconds, 1); | 312 kTimeDeltaInMilliseconds, 1); |
| 312 } | 313 } |
| 313 | 314 |
| 314 } // namespace test | 315 } // namespace test |
| 315 } // namespace ash | 316 } // namespace ash |
| OLD | NEW |