Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1837)

Unified Diff: chrome/browser/ui/webui/signin/inline_login_handler_impl.cc

Issue 1473543002: Implement newly designed sign-in related histograms for desktop platorms. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
diff --git a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
index ab0352404cb8797d98b1503de77a37b5008c8aa6..a5942246a9f4dcbe4951015f54c02b174dd454ba 100644
--- a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
+++ b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
@@ -74,7 +74,7 @@ bool IsSystemProfile(Profile* profile) {
}
void RedirectToNtpOrAppsPage(content::WebContents* contents,
- signin_metrics::Source source) {
+ signin_metrics::AccessPoint access_point) {
// Do nothing if a navigation is pending, since this call can be triggered
// from DidStartLoading. This avoids deleting the pending entry while we are
// still navigating to it. See crbug/346632.
@@ -83,8 +83,9 @@ void RedirectToNtpOrAppsPage(content::WebContents* contents,
VLOG(1) << "RedirectToNtpOrAppsPage";
// Redirect to NTP/Apps page and display a confirmation bubble
- GURL url(source == signin_metrics::SOURCE_APPS_PAGE_LINK ?
- chrome::kChromeUIAppsURL : chrome::kChromeUINewTabURL);
+ GURL url(access_point == signin_metrics::ACCESS_POINT_APPS_PAGE_LINK
+ ? chrome::kChromeUIAppsURL
+ : chrome::kChromeUINewTabURL);
content::OpenURLParams params(url,
content::Referrer(),
CURRENT_TAB,
@@ -93,10 +94,11 @@ void RedirectToNtpOrAppsPage(content::WebContents* contents,
contents->OpenURL(params);
}
-void RedirectToNtpOrAppsPageIfNecessary(content::WebContents* contents,
- signin_metrics::Source source) {
- if (source != signin_metrics::SOURCE_SETTINGS)
- RedirectToNtpOrAppsPage(contents, source);
+void RedirectToNtpOrAppsPageIfNecessary(
+ content::WebContents* contents,
+ signin_metrics::AccessPoint access_point) {
+ if (access_point != signin_metrics::ACCESS_POINT_SETTINGS)
+ RedirectToNtpOrAppsPage(contents, access_point);
}
class ConfirmEmailDialogDelegate : public TabModalConfirmDialogDelegate {
@@ -272,21 +274,28 @@ void InlineSigninHelper::OnClientOAuthSuccess(const ClientOAuthResult& result) {
AccountTrackerServiceFactory::GetForProfile(profile_)
->SeedAccountInfo(gaia_id_, email_);
- signin_metrics::Source source = signin::GetSourceForPromoURL(current_url_);
+ signin_metrics::AccessPoint access_point =
+ signin::GetAccessPointForPromoURL(current_url_);
+ signin_metrics::LogSigninAccessPoint(access_point, true);
+
+ signin_metrics::Reason reason =
+ signin::GetSigninReasonForPromoURL(current_url_);
+ signin_metrics::LogSigninReason(reason);
Roger Tawa OOO till Jul 10th 2015/12/02 20:33:49 By this point, gaia sign in completed successfully
gogerald1 2015/12/03 17:49:03 Do it in one_click_signin_sync_starter
SigninManager* signin_manager = SigninManagerFactory::GetForProfile(profile_);
std::string primary_email =
signin_manager->GetAuthenticatedAccountInfo().email;
if (gaia::AreEmailsSame(email_, primary_email) &&
- source == signin_metrics::SOURCE_REAUTH &&
- switches::IsNewProfileManagement() &&
- !password_.empty() &&
+ (reason == signin_metrics::REASON_REAUTHENTICATION ||
+ reason == signin_metrics::REASON_UNLOCK) &&
+ switches::IsNewProfileManagement() && !password_.empty() &&
profiles::IsLockAvailable(profile_)) {
LocalAuth::SetLocalAuthCredentials(profile_, password_);
}
- if (source == signin_metrics::SOURCE_AVATAR_BUBBLE_ADD_ACCOUNT ||
- source == signin_metrics::SOURCE_REAUTH) {
+ if (reason == signin_metrics::REASON_REAUTHENTICATION ||
+ reason == signin_metrics::REASON_UNLOCK ||
+ reason == signin_metrics::REASON_ADD_SECONDARY_ACCOUNT) {
ProfileOAuth2TokenServiceFactory::GetForProfile(profile_)->
UpdateCredentials(account_id, result.refresh_token);
@@ -299,7 +308,8 @@ void InlineSigninHelper::OnClientOAuthSuccess(const ClientOAuthResult& result) {
signin::ShouldShowAccountManagement(current_url_)));
}
- if (source == signin_metrics::SOURCE_REAUTH)
+ if (reason == signin_metrics::REASON_REAUTHENTICATION ||
+ reason == signin_metrics::REASON_UNLOCK)
Roger Tawa OOO till Jul 10th 2015/12/02 20:33:48 Need { and } for if.
gogerald1 2015/12/03 17:49:03 Done.
signin_manager->MergeSigninCredentialIntoCookieJar();
} else {
ProfileSyncService* sync_service =
@@ -309,7 +319,8 @@ void InlineSigninHelper::OnClientOAuthSuccess(const ClientOAuthResult& result) {
OneClickSigninSyncStarter::StartSyncMode start_mode =
OneClickSigninSyncStarter::CONFIRM_SYNC_SETTINGS_FIRST;
- if (source == signin_metrics::SOURCE_SETTINGS || choose_what_to_sync_) {
+ if (access_point == signin_metrics::ACCESS_POINT_SETTINGS ||
+ choose_what_to_sync_) {
bool show_settings_without_configure =
error_controller->HasError() &&
sync_service &&
@@ -324,8 +335,8 @@ void InlineSigninHelper::OnClientOAuthSuccess(const ClientOAuthResult& result) {
OneClickSigninSyncStarter::CONFIRM_UNTRUSTED_SIGNIN :
OneClickSigninSyncStarter::CONFIRM_AFTER_SIGNIN;
- bool start_signin = !HandleCrossAccountError(result.refresh_token, source,
- confirmation_required, start_mode);
+ bool start_signin = !HandleCrossAccountError(
+ result.refresh_token, confirmation_required, start_mode);
if (start_signin) {
CreateSyncStarter(browser,
contents,
@@ -358,7 +369,6 @@ void InlineSigninHelper::CreateSyncStarter(
bool InlineSigninHelper::HandleCrossAccountError(
const std::string& refresh_token,
- signin_metrics::Source source,
OneClickSigninSyncStarter::ConfirmationRequired confirmation_required,
OneClickSigninSyncStarter::StartSyncMode start_mode) {
std::string last_email =
@@ -380,7 +390,6 @@ bool InlineSigninHelper::HandleCrossAccountError(
base::Unretained(this),
web_contents,
refresh_token,
- source,
confirmation_required,
start_mode));
return true;
@@ -389,7 +398,6 @@ bool InlineSigninHelper::HandleCrossAccountError(
void InlineSigninHelper::ConfirmEmailAction(
content::WebContents* web_contents,
const std::string& refresh_token,
- signin_metrics::Source source,
OneClickSigninSyncStarter::ConfirmationRequired confirmation_required,
OneClickSigninSyncStarter::StartSyncMode start_mode,
InlineSigninHelper::Action action) {
@@ -559,7 +567,8 @@ void InlineLoginHandlerImpl::SetExtraInitParams(base::DictionaryValue& params) {
content::WebContents* contents = web_ui()->GetWebContents();
const GURL& current_url = contents->GetURL();
- signin_metrics::Source source = signin::GetSourceForPromoURL(current_url);
+ signin_metrics::Reason reason =
+ signin::GetSigninReasonForPromoURL(current_url);
std::string is_constrained;
net::GetValueForKeyInQuery(current_url, "constrained", &is_constrained);
@@ -576,11 +585,12 @@ void InlineLoginHandlerImpl::SetExtraInitParams(base::DictionaryValue& params) {
params.SetString("gaiaPath", url.path().substr(1));
std::string flow;
- switch (source) {
- case signin_metrics::SOURCE_AVATAR_BUBBLE_ADD_ACCOUNT:
+ switch (reason) {
+ case signin_metrics::REASON_ADD_SECONDARY_ACCOUNT:
flow = "addaccount";
break;
- case signin_metrics::SOURCE_REAUTH:
+ case signin_metrics::REASON_REAUTHENTICATION:
+ case signin_metrics::REASON_UNLOCK:
flow = "reauth";
break;
default:
@@ -733,20 +743,25 @@ void InlineLoginHandlerImpl::FinishCompleteLogin(
}
}
- signin_metrics::Source source = signin::GetSourceForPromoURL(params.url);
+ signin_metrics::AccessPoint access_point =
+ signin::GetAccessPointForPromoURL(params.url);
+ signin_metrics::Reason reason =
+ signin::GetSigninReasonForPromoURL(params.url);
LogHistogramValue(signin_metrics::HISTOGRAM_ACCEPTED);
bool switch_to_advanced =
- params.choose_what_to_sync && (source != signin_metrics::SOURCE_SETTINGS);
+ params.choose_what_to_sync &&
+ (access_point != signin_metrics::ACCESS_POINT_SETTINGS);
LogHistogramValue(
switch_to_advanced ? signin_metrics::HISTOGRAM_WITH_ADVANCED :
signin_metrics::HISTOGRAM_WITH_DEFAULTS);
CanOfferFor can_offer_for = CAN_OFFER_FOR_ALL;
- switch (source) {
- case signin_metrics::SOURCE_AVATAR_BUBBLE_ADD_ACCOUNT:
+ switch (reason) {
+ case signin_metrics::REASON_ADD_SECONDARY_ACCOUNT:
can_offer_for = CAN_OFFER_FOR_SECONDARY_ACCOUNT;
break;
- case signin_metrics::SOURCE_REAUTH: {
+ case signin_metrics::REASON_REAUTHENTICATION:
+ case signin_metrics::REASON_UNLOCK: {
std::string primary_username =
SigninManagerFactory::GetForProfile(profile)
->GetAuthenticatedAccountInfo()
@@ -842,11 +857,12 @@ void InlineLoginHandlerImpl::SyncStarterCallback(
}
const GURL& current_url = contents->GetLastCommittedURL();
- signin_metrics::Source source = signin::GetSourceForPromoURL(current_url);
+ signin_metrics::AccessPoint access_point =
+ signin::GetAccessPointForPromoURL(current_url);
bool auto_close = signin::IsAutoCloseEnabledInURL(current_url);
if (result == OneClickSigninSyncStarter::SYNC_SETUP_FAILURE) {
- RedirectToNtpOrAppsPage(contents, source);
+ RedirectToNtpOrAppsPage(contents, access_point);
} else if (auto_close) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
@@ -854,7 +870,7 @@ void InlineLoginHandlerImpl::SyncStarterCallback(
weak_factory_.GetWeakPtr(),
signin::ShouldShowAccountManagement(current_url)));
} else {
- RedirectToNtpOrAppsPageIfNecessary(contents, source);
+ RedirectToNtpOrAppsPageIfNecessary(contents, access_point);
}
}
@@ -873,8 +889,9 @@ void InlineLoginHandlerImpl::CloseTab(bool show_account_management) {
if (show_account_management) {
browser->window()->ShowAvatarBubbleFromAvatarButton(
- BrowserWindow::AVATAR_BUBBLE_MODE_ACCOUNT_MANAGEMENT,
- signin::ManageAccountsParams());
+ BrowserWindow::AVATAR_BUBBLE_MODE_ACCOUNT_MANAGEMENT,
+ signin::ManageAccountsParams(),
+ signin_metrics::ACCESS_POINT_AVATAR_BUBBLE_SIGN_IN);
}
}
}

Powered by Google App Engine
This is Rietveld 408576698