| Index: chrome/browser/signin/signin_promo.h | 
| diff --git a/chrome/browser/signin/signin_promo.h b/chrome/browser/signin/signin_promo.h | 
| index c4a77f9ad477166b7dee3695fd40ab2dcc00e745..f6f7143112157f74aa296ffa0ee9795a3c466ede 100644 | 
| --- a/chrome/browser/signin/signin_promo.h | 
| +++ b/chrome/browser/signin/signin_promo.h | 
| @@ -21,8 +21,10 @@ class PrefRegistrySyncable; | 
| // Utility functions for sign in promos. | 
| namespace signin { | 
|  | 
| +const char kSignInPromoQueryKeyAccessPoint[] = "access_point"; | 
| const char kSignInPromoQueryKeyAutoClose[] = "auto_close"; | 
| const char kSignInPromoQueryKeyContinue[] = "continue"; | 
| +const char kSignInPromoQueryKeyReason[] = "reason"; | 
| const char kSignInPromoQueryKeySource[] = "source"; | 
| const char kSignInPromoQueryKeyConstrained[] = "constrained"; | 
| const char kSignInPromoQueryKeyShowAccountManagement[] = | 
| @@ -43,24 +45,32 @@ void DidShowPromoAtStartup(Profile* profile); | 
| void SetUserSkippedPromo(Profile* profile); | 
|  | 
| // Gets the sign in landing page URL. | 
| -GURL GetLandingURL(const char* option, int value); | 
| +GURL GetLandingURL(signin_metrics::AccessPoint access_point); | 
|  | 
| // Returns the sign in promo URL wth the given arguments in the query. | 
| -// |source| identifies from where the sign in promo is being called, and is | 
| -// used to record sync promo UMA stats in the context of the source. | 
| +// |access_point| indicates where the sign in is being initiated. | 
| +// |reason| indicates the purpose of using this URL. | 
| // |auto_close| whether to close the sign in promo automatically when done. | 
| // |is_constrained} whether to load the URL in a constrained window, false | 
| // by default. | 
| -GURL GetPromoURL(signin_metrics::Source source, bool auto_close); | 
| -GURL GetPromoURL(signin_metrics::Source source, | 
| +GURL GetPromoURL(signin_metrics::AccessPoint access_point, | 
| +                 signin_metrics::Reason reason, | 
| +                 bool auto_close); | 
| +GURL GetPromoURL(signin_metrics::AccessPoint access_point, | 
| +                 signin_metrics::Reason reason, | 
| bool auto_close, | 
| bool is_constrained); | 
|  | 
| // Returns a sign in promo URL specifically for reauthenticating |account_id|. | 
| -GURL GetReauthURL(Profile* profile, const std::string& account_id); | 
| +GURL GetReauthURL(signin_metrics::AccessPoint access_point, | 
| +                  signin_metrics::Reason reason, | 
| +                  Profile* profile, | 
| +                  const std::string& account_id); | 
|  | 
| // Returns a sign in promo URL specifically for reauthenticating |email|. | 
| -GURL GetReauthURLWithEmail(const std::string& email); | 
| +GURL GetReauthURLWithEmail(signin_metrics::AccessPoint access_point, | 
| +                           signin_metrics::Reason reason, | 
| +                           const std::string& email); | 
|  | 
| // Gets the next page URL from the query portion of the sign in promo URL. | 
| GURL GetNextPageURLForPromoURL(const GURL& url); | 
| @@ -71,11 +81,14 @@ GURL GetSigninPartitionURL(); | 
| // Gets the signin URL to be used to display the sign in flow for |mode| in | 
| // |profile|. | 
| GURL GetSigninURLFromBubbleViewMode(Profile* profile, | 
| -                                    profiles::BubbleViewMode mode); | 
| +                                    profiles::BubbleViewMode mode, | 
| +                                    signin_metrics::AccessPoint access_point); | 
|  | 
| -// Gets the source from the query portion of the sign in promo URL. | 
| -// The source identifies from where the sign in promo was opened. | 
| -signin_metrics::Source GetSourceForPromoURL(const GURL& url); | 
| +// Gets the access point from the query portion of the sign in promo URL. | 
| +signin_metrics::AccessPoint GetAccessPointForPromoURL(const GURL& url); | 
| + | 
| +// Gets the sign in reason from the query portion of the sign in promo URL. | 
| +signin_metrics::Reason GetSigninReasonForPromoURL(const GURL& url); | 
|  | 
| // Returns true if the auto_close parameter in the given URL is set to true. | 
| bool IsAutoCloseEnabledInURL(const GURL& url); | 
|  |