OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef ASH_MULTI_PROFILE_UMA_H_ | 5 #ifndef ASH_MULTI_PROFILE_UMA_H_ |
6 #define ASH_MULTI_PROFILE_UMA_H_ | 6 #define ASH_MULTI_PROFILE_UMA_H_ |
7 | 7 |
8 #include "ash/ash_export.h" | 8 #include "ash/ash_export.h" |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 | 10 |
11 namespace ash { | 11 namespace ash { |
12 | 12 |
13 // Records UMA statistics for multiprofile actions. | 13 // Records UMA statistics for multiprofile actions. |
14 // Note: There is also an action to switch profile windows from the | 14 // Note: There is also an action to switch profile windows from the |
15 // browser frame that is recorded by the "Profile.OpenMethod" metric. | 15 // browser frame that is recorded by the "Profile.OpenMethod" metric. |
16 class ASH_EXPORT MultiProfileUMA { | 16 class ASH_EXPORT MultiProfileUMA { |
17 public: | 17 public: |
18 // Keep these enums up to date with tools/metrics/histograms/histograms.xml. | 18 // Keep these enums up to date with tools/metrics/histograms/histograms.xml. |
19 enum SwitchActiveUserAction { | 19 enum SessionMode { |
20 SWITCH_ACTIVE_USER_BY_TRAY = 0, | 20 SESSION_SINGLE_USER_MODE = 0, |
21 SWITCH_ACTIVE_USER_BY_ACCELERATOR, | 21 SESSION_SIDE_BY_SIDE_MODE, |
22 NUM_SWITCH_ACTIVE_USER_ACTIONS | 22 SESSION_SEPARATE_DESKTOP_MODE, |
| 23 NUM_SESSION_MODES |
23 }; | 24 }; |
24 | 25 |
25 enum SigninUserAction { | 26 enum SigninUserAction { |
26 SIGNIN_USER_BY_TRAY = 0, | 27 SIGNIN_USER_BY_TRAY = 0, |
27 SIGNIN_USER_BY_BROWSER_FRAME, | 28 SIGNIN_USER_BY_BROWSER_FRAME, |
28 NUM_SIGNIN_USER_ACTIONS | 29 NUM_SIGNIN_USER_ACTIONS |
29 }; | 30 }; |
30 | 31 |
| 32 enum SwitchActiveUserAction { |
| 33 SWITCH_ACTIVE_USER_BY_TRAY = 0, |
| 34 SWITCH_ACTIVE_USER_BY_ACCELERATOR, |
| 35 NUM_SWITCH_ACTIVE_USER_ACTIONS |
| 36 }; |
| 37 |
| 38 enum TeleportWindowAction { |
| 39 TELEPORT_WINDOW_DRAG_AND_DROP = 0, |
| 40 TELEPORT_WINDOW_CAPTION_MENU, |
| 41 TELEPORT_WINDOW_RETURN_BY_MINIMIZE, |
| 42 TELEPORT_WINDOW_RETURN_BY_LAUNCHER, |
| 43 NUM_TELEPORT_WINDOW_ACTIONS |
| 44 }; |
| 45 |
| 46 // Record the type of user (multi profile) session. |
| 47 static void RecordSessionMode(SessionMode mode); |
| 48 |
| 49 // Record signing in a new user and what UI path was taken. |
| 50 static void RecordSigninUser(SigninUserAction action); |
| 51 |
31 // Record switching the active user and what UI path was taken. | 52 // Record switching the active user and what UI path was taken. |
32 static void RecordSwitchActiveUser(SwitchActiveUserAction action); | 53 static void RecordSwitchActiveUser(SwitchActiveUserAction action); |
33 | 54 |
34 // Record signing in a new user and what UI path was taken. | 55 // Record the way and how many times a window got teleported to another desk. |
35 static void RecordSigninUser(SigninUserAction action); | 56 static void RecordTeleportAction(TeleportWindowAction action); |
36 | 57 |
37 private: | 58 private: |
38 DISALLOW_IMPLICIT_CONSTRUCTORS(MultiProfileUMA); | 59 DISALLOW_IMPLICIT_CONSTRUCTORS(MultiProfileUMA); |
39 }; | 60 }; |
40 | 61 |
41 } // namespace ash | 62 } // namespace ash |
42 | 63 |
43 #endif // ASH_MULTI_PROFILE_UMA_H_ | 64 #endif // ASH_MULTI_PROFILE_UMA_H_ |
OLD | NEW |