| Index: components/signin/core/browser/signin_metrics.h
 | 
| diff --git a/components/signin/core/browser/signin_metrics.h b/components/signin/core/browser/signin_metrics.h
 | 
| index fa7242bfd4de44e57ef0118fb6cdf77e7ca6dcc4..958fa0bc0cba993cbecc65b74d4d17673ce8852d 100644
 | 
| --- a/components/signin/core/browser/signin_metrics.h
 | 
| +++ b/components/signin/core/browser/signin_metrics.h
 | 
| @@ -98,22 +98,50 @@ enum {
 | 
|    HISTOGRAM_CONFIRM_MAX
 | 
|  };
 | 
|  
 | 
| -// Enum valus used with the "Signin.SigninSource" histogram, which tracks the
 | 
| -// source that launched a Gaia signin page.
 | 
| +// TODO(gogerald): right now, gaia server needs to distinguish the source from
 | 
| +// signin_metrics::SOURCE_START_PAGE, signin_metrics::SOURCE_SETTINGS and the
 | 
| +// others to show advanced sync setting, remove them after switching to Minute
 | 
| +// Maid sign in flow.
 | 
| +// This was previously used in Signin.SigninSource UMA histogram, but no longer
 | 
| +// used after having below AccessPoint and Reason related histograms.
 | 
|  enum Source {
 | 
| -  SOURCE_START_PAGE = 0, // This must be first.
 | 
| -  SOURCE_NTP_LINK,
 | 
| -  SOURCE_MENU,
 | 
| -  SOURCE_SETTINGS,
 | 
| -  SOURCE_EXTENSION_INSTALL_BUBBLE,
 | 
| -  SOURCE_APP_LAUNCHER,
 | 
| -  SOURCE_APPS_PAGE_LINK,
 | 
| -  SOURCE_BOOKMARK_BUBBLE,
 | 
| -  SOURCE_AVATAR_BUBBLE_SIGN_IN,
 | 
| -  SOURCE_AVATAR_BUBBLE_ADD_ACCOUNT,
 | 
| -  SOURCE_DEVICES_PAGE,
 | 
| -  SOURCE_REAUTH,
 | 
| -  SOURCE_UNKNOWN, // This must be last.
 | 
| +  SOURCE_START_PAGE = 0,  // This must be first.
 | 
| +  SOURCE_SETTINGS = 3,
 | 
| +  SOURCE_OTHERS = 13,
 | 
| +};
 | 
| +
 | 
| +// Enum values which enumerates all access points where sign in could be
 | 
| +// initiated. Not all of them exist on all platforms. They are used with
 | 
| +// "Signin.SigninStartedAccessPoint" and "Signin.SigninCompletedAccessPoint"
 | 
| +// histograms.
 | 
| +enum class AccessPoint : int {
 | 
| +  ACCESS_POINT_START_PAGE = 0,
 | 
| +  ACCESS_POINT_NTP_LINK,
 | 
| +  ACCESS_POINT_MENU,
 | 
| +  ACCESS_POINT_SETTINGS,
 | 
| +  ACCESS_POINT_SUPERVISED_USER,
 | 
| +  ACCESS_POINT_EXTENSION_INSTALL_BUBBLE,
 | 
| +  ACCESS_POINT_EXTENSIONS,
 | 
| +  ACCESS_POINT_APPS_PAGE_LINK,
 | 
| +  ACCESS_POINT_BOOKMARK_BUBBLE,
 | 
| +  ACCESS_POINT_BOOKMARK_MANAGER,
 | 
| +  ACCESS_POINT_AVATAR_BUBBLE_SIGN_IN,
 | 
| +  ACCESS_POINT_USER_MANAGER,
 | 
| +  ACCESS_POINT_DEVICES_PAGE,
 | 
| +  ACCESS_POINT_CLOUD_PRINT,
 | 
| +  ACCESS_POINT_CONTENT_AREA,
 | 
| +  ACCESS_POINT_SIGNIN_PROMO,
 | 
| +  ACCESS_POINT_RECENT_TABS,
 | 
| +  ACCESS_POINT_MAX  // This must be last.
 | 
| +};
 | 
| +
 | 
| +// Enum values which enumerates all reasons to start sign in process.
 | 
| +enum class Reason : int {
 | 
| +  REASON_SIGNIN_PRIMARY_ACCOUNT = 0,
 | 
| +  REASON_ADD_SECONDARY_ACCOUNT,
 | 
| +  REASON_REAUTHENTICATION,
 | 
| +  REASON_UNLOCK,
 | 
| +  REASON_MAX  // This must be last.
 | 
|  };
 | 
|  
 | 
|  // Enum values used for use with the "Signin.Reauth" histogram.
 | 
| @@ -177,6 +205,13 @@ enum AccountReconcilorState {
 | 
|    ACCOUNT_RECONCILOR_HISTOGRAM_COUNT,
 | 
|  };
 | 
|  
 | 
| +// Tracks the access point of sign in.
 | 
| +void LogSigninAccessPointStarted(AccessPoint access_point);
 | 
| +void LogSigninAccessPointCompleted(AccessPoint access_point);
 | 
| +
 | 
| +// Tracks the reason of sign in.
 | 
| +void LogSigninReason(Reason reason);
 | 
| +
 | 
|  // Log to UMA histograms and UserCounts stats about a single execution of the
 | 
|  // AccountReconciler.
 | 
|  // |total_number_accounts| - How many accounts are in the browser for this
 | 
| @@ -207,9 +242,6 @@ void LogSigninAccountReconciliationDuration(base::TimeDelta duration,
 | 
|  // Track a successful signin.
 | 
|  void LogSigninAddAccount();
 | 
|  
 | 
| -// Tracks the original source that showed the signin page.
 | 
| -void LogSigninSource(Source source);
 | 
| -
 | 
|  // Track a successful signin of a profile.
 | 
|  void LogSigninProfile(bool is_first_run, base::Time install_date);
 | 
|  
 | 
| 
 |