| OLD | NEW | 
|---|
|  | (Empty) | 
| 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 |  | 
| 3 // found in the LICENSE file. |  | 
| 4 |  | 
| 5 #ifndef ASH_COMMON_MULTI_PROFILE_UMA_H_ |  | 
| 6 #define ASH_COMMON_MULTI_PROFILE_UMA_H_ |  | 
| 7 |  | 
| 8 #include "ash/ash_export.h" |  | 
| 9 #include "base/macros.h" |  | 
| 10 |  | 
| 11 namespace ash { |  | 
| 12 |  | 
| 13 // Records UMA statistics for multiprofile actions. |  | 
| 14 // Note: There is also an action to switch profile windows from the |  | 
| 15 // browser frame that is recorded by the "Profile.OpenMethod" metric. |  | 
| 16 class ASH_EXPORT MultiProfileUMA { |  | 
| 17  public: |  | 
| 18   // Keep these enums up to date with tools/metrics/histograms/histograms.xml. |  | 
| 19   enum SessionMode { |  | 
| 20     SESSION_SINGLE_USER_MODE = 0, |  | 
| 21     SESSION_SIDE_BY_SIDE_MODE, |  | 
| 22     SESSION_SEPARATE_DESKTOP_MODE, |  | 
| 23     NUM_SESSION_MODES |  | 
| 24   }; |  | 
| 25 |  | 
| 26   enum SigninUserAction { |  | 
| 27     SIGNIN_USER_BY_TRAY = 0, |  | 
| 28     SIGNIN_USER_BY_BROWSER_FRAME, |  | 
| 29     NUM_SIGNIN_USER_ACTIONS |  | 
| 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 TeleportWindowType { |  | 
| 39     TELEPORT_WINDOW_BROWSER = 0, |  | 
| 40     TELEPORT_WINDOW_INCOGNITO_BROWSER, |  | 
| 41     TELEPORT_WINDOW_V1_APP, |  | 
| 42     TELEPORT_WINDOW_V2_APP, |  | 
| 43     TELEPORT_WINDOW_PANEL, |  | 
| 44     TELEPORT_WINDOW_POPUP, |  | 
| 45     TELEPORT_WINDOW_UNKNOWN, |  | 
| 46     NUM_TELEPORT_WINDOW_TYPES |  | 
| 47   }; |  | 
| 48 |  | 
| 49   enum TeleportWindowAction { |  | 
| 50     TELEPORT_WINDOW_DRAG_AND_DROP = 0, |  | 
| 51     TELEPORT_WINDOW_CAPTION_MENU, |  | 
| 52     TELEPORT_WINDOW_RETURN_BY_MINIMIZE, |  | 
| 53     TELEPORT_WINDOW_RETURN_BY_LAUNCHER, |  | 
| 54     NUM_TELEPORT_WINDOW_ACTIONS |  | 
| 55   }; |  | 
| 56 |  | 
| 57   // Record the type of user (multi profile) session. |  | 
| 58   static void RecordSessionMode(SessionMode mode); |  | 
| 59 |  | 
| 60   // Record signing in a new user and what UI path was taken. |  | 
| 61   static void RecordSigninUser(SigninUserAction action); |  | 
| 62 |  | 
| 63   // Record switching the active user and what UI path was taken. |  | 
| 64   static void RecordSwitchActiveUser(SwitchActiveUserAction action); |  | 
| 65 |  | 
| 66   // Record the type of window which got teleported to another desk. |  | 
| 67   static void RecordTeleportWindowType(TeleportWindowType window_type); |  | 
| 68 |  | 
| 69   // Record the way and how many times a window got teleported to another desk. |  | 
| 70   static void RecordTeleportAction(TeleportWindowAction action); |  | 
| 71 |  | 
| 72   // Record number of users joined into a session. Called every time a user gets |  | 
| 73   // added. |  | 
| 74   static void RecordUserCount(int number_of_users); |  | 
| 75 |  | 
| 76   // Record a discarded tab in the number of running users bucket. |  | 
| 77   static void RecordDiscardedTab(int number_of_users); |  | 
| 78 |  | 
| 79  private: |  | 
| 80   DISALLOW_IMPLICIT_CONSTRUCTORS(MultiProfileUMA); |  | 
| 81 }; |  | 
| 82 |  | 
| 83 }  // namespace ash |  | 
| 84 |  | 
| 85 #endif  // ASH_COMMON_MULTI_PROFILE_UMA_H_ |  | 
| OLD | NEW | 
|---|