1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef ASH_METRICS_TASK_SWITCH_SOURCE_H_
6 #define ASH_METRICS_TASK_SWITCH_SOURCE_H_
7 
8 namespace ash {
9 
10 // Enumeration of the different user interfaces that could be the source of
11 // a task switch. Note this is not necessarily comprehensive of all sources.
12 enum class TaskSwitchSource {
13   // Task switches caused by any two sources in this enum. NOTE: This value
14   // should NOT be used outside of TaskSwitchMetricsRecorder.
15   ANY,
16   // Task switches caused by the user activating a task window by clicking or
17   // tapping on it.
18   DESKTOP,
19   // Task switches caused by selecting a window from overview mode which is
20   // different from the previously-active window.
21   OVERVIEW_MODE,
22   // All task switches caused by shelf buttons, not including sub-menus.
23   SHELF,
24   // Task switches caused by the WindowCycleController (ie Alt+Tab).
25   WINDOW_CYCLE_CONTROLLER
26 };
27 
28 }  // namespace ash
29 
30 #endif  // ASH_METRICS_TASK_SWITCH_SOURCE_H_
31