summaryrefslogtreecommitdiffstats
path: root/chrome/browser/profiles/profile_metrics.h
blob: 68d221c4be9462247b6cdf1b5921d4bd4011400b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_PROFILES_PROFILE_METRICS_H_
#define CHROME_BROWSER_PROFILES_PROFILE_METRICS_H_

#include <stddef.h>
#include <string>

#include "base/basictypes.h"

class FilePath;

class ProfileMetrics {
 public:
  enum ProfileAvatar {
    AVATAR_GENERIC = 0,       // The names for avatar icons
    AVATAR_GENERIC_AQUA,
    AVATAR_GENERIC_BLUE,
    AVATAR_GENERIC_GREEN,
    AVATAR_GENERIC_ORANGE,
    AVATAR_GENERIC_PURPLE,
    AVATAR_GENERIC_RED,
    AVATAR_GENERIC_YELLOW,
    AVATAR_SECRET_AGENT,
    AVATAR_SUPERHERO,
    AVATAR_VOLLEYBALL,
    AVATAR_BUSINESSMAN,
    AVATAR_NINJA,
    AVATAR_ALIEN,
    AVATAR_AWESOME,
    AVATAR_FLOWER,
    AVATAR_PIZZA,
    AVATAR_SOCCER,
    AVATAR_BURGER,
    AVATAR_CAT,
    AVATAR_CUPCAKE,
    AVATAR_DOG,
    AVATAR_HORSE,
    AVATAR_MARGARITA,
    AVATAR_NOTE,
    AVATAR_SUN_CLOUD,
    AVATAR_UNKNOWN,
    NUM_PROFILE_AVATAR_METRICS
  };

  enum ProfileOpen {
    ADD_NEW_USER = 0,     // Total count of add new user
    ADD_NEW_USER_ICON,    // User adds new user from icon menu
    ADD_NEW_USER_MENU,    // User adds new user from menu bar
    SWITCH_PROFILE_ICON,  // User switches profiles from icon menu
    SWITCH_PROFILE_MENU,  // User switches profiles from menu bar
    NTP_AVATAR_BUBBLE,    // User opens avatar icon menu from NTP
    ICON_AVATAR_BUBBLE,   // User opens avatar icon menu from icon
    PROFILE_DELETED,      // User deleted a profile
    NUM_PROFILE_OPEN_METRICS
  };

  // Sign in is logged once the user has entered their GAIA information.
  // See sync_setup_flow.h.
  // The options for sync are logged after the user has submitted the options
  // form. See sync_setup_handler.h.
  enum ProfileSync {
    SYNC_SIGN_IN = 0,        // User signed into sync
    SYNC_SIGN_IN_ORIGINAL,   // User signed into sync in original profile
    SYNC_SIGN_IN_SECONDARY,  // User signed into sync in secondary profile
    SYNC_CUSTOMIZE,          // User decided to customize sync
    SYNC_CHOOSE,             // User chose what to sync
    SYNC_ENCRYPT,            // User has chosen to encrypt all data
    SYNC_PASSPHRASE,         // User is using a passphrase
    NUM_PROFILE_SYNC_METRICS
  };

  enum ProfileType {
    ORIGINAL = 0,         // Refers to the original/default profile
    SECONDARY,            // Refers to a user-created profile
    NUM_PROFILE_TYPE_METRICS
  };

  static void LogProfileAvatarSelection(size_t icon_index);
  static void LogProfileOpenMethod(ProfileOpen metric);
  static void LogProfileSyncInfo(ProfileSync metric);
  static void LogProfileUpdate(FilePath& profile_path);
  static void LogProfileSyncSignIn(FilePath& profile_path);
};


#endif  // CHROME_BROWSER_PROFILES_PROFILE_METRICS_H_