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

Unified Diff: chrome/browser/ui/webui/settings/sync_handler.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/settings/sync_handler.cc
diff --git a/chrome/browser/ui/webui/settings/sync_handler.cc b/chrome/browser/ui/webui/settings/sync_handler.cc
index 2292260ec11d5bf8c37c7d01dea891b7ab918f41..7e802324a8d11d36d7ff70541df10eb6189d733a 100644
--- a/chrome/browser/ui/webui/settings/sync_handler.cc
+++ b/chrome/browser/ui/webui/settings/sync_handler.cc
@@ -238,16 +238,17 @@ void SyncHandler::RegisterMessages() {
}
#if !defined(OS_CHROMEOS)
-void SyncHandler::DisplayGaiaLogin() {
+void SyncHandler::DisplayGaiaLogin(signin_metrics::AccessPoint access_point) {
DCHECK(!sync_startup_tracker_);
// Advanced options are no longer being configured if the login screen is
// visible. If the user exits the signin wizard after this without
// configuring sync, CloseSyncSetup() will ensure they are logged out.
configuring_sync_ = false;
- DisplayGaiaLoginInNewTabOrWindow();
+ DisplayGaiaLoginInNewTabOrWindow(access_point);
}
-void SyncHandler::DisplayGaiaLoginInNewTabOrWindow() {
+void SyncHandler::DisplayGaiaLoginInNewTabOrWindow(
+ signin_metrics::AccessPoint access_point) {
Browser* browser = chrome::FindBrowserWithWebContents(
web_ui()->GetWebContents());
bool force_new_tab = false;
@@ -274,19 +275,20 @@ void SyncHandler::DisplayGaiaLoginInNewTabOrWindow() {
if (!force_new_tab) {
browser->window()->ShowAvatarBubbleFromAvatarButton(
BrowserWindow::AVATAR_BUBBLE_MODE_REAUTH,
- signin::ManageAccountsParams());
+ signin::ManageAccountsParams(), access_point);
} else {
- url = signin::GetReauthURL(browser->profile(),
- error_controller->error_account_id());
+ url = signin::GetReauthURL(
+ access_point, signin_metrics::REASON_REAUTHENTICATION,
+ browser->profile(), error_controller->error_account_id());
}
} else {
- signin_metrics::LogSigninSource(signin_metrics::SOURCE_SETTINGS);
if (!force_new_tab) {
browser->window()->ShowAvatarBubbleFromAvatarButton(
BrowserWindow::AVATAR_BUBBLE_MODE_SIGNIN,
- signin::ManageAccountsParams());
+ signin::ManageAccountsParams(), access_point);
} else {
- url = signin::GetPromoURL(signin_metrics::SOURCE_SETTINGS, true);
+ url = signin::GetPromoURL(
+ access_point, signin_metrics::REASON_SIGNIN_PRIMARY_ACCOUNT, true);
}
}
@@ -525,7 +527,7 @@ void SyncHandler::HandleShowSetupUI(const base::ListValue* args) {
// If a setup wizard is present on this page or another, bring it to focus.
// Otherwise, display a new one on this page.
if (!FocusExistingWizardIfPresent())
- OpenSyncSetup();
+ OpenSyncSetup(args);
}
#if defined(OS_CHROMEOS)
@@ -541,7 +543,7 @@ void SyncHandler::HandleDoSignOutOnAuthError(const base::ListValue* args) {
void SyncHandler::HandleStartSignin(const base::ListValue* args) {
// Should only be called if the user is not already signed in.
DCHECK(!SigninManagerFactory::GetForProfile(profile_)->IsAuthenticated());
- OpenSyncSetup();
+ OpenSyncSetup(args);
}
void SyncHandler::HandleStopSyncing(const base::ListValue* args) {
@@ -617,7 +619,7 @@ void SyncHandler::CloseSyncSetup() {
configuring_sync_ = false;
}
-void SyncHandler::OpenSyncSetup() {
+void SyncHandler::OpenSyncSetup(const base::ListValue* args) {
if (!PrepareSyncSetup())
return;
@@ -642,7 +644,14 @@ void SyncHandler::OpenSyncSetup() {
// setup including any visible overlays, and display the gaia auth page.
// Control will be returned to the sync settings page once auth is complete.
CloseUI();
- DisplayGaiaLogin();
+ if (args != NULL) {
+ std::string access_point = base::UTF16ToUTF8(ExtractStringValue(args));
+ if (access_point == "access-point-supervised-user") {
+ DisplayGaiaLogin(signin_metrics::ACCESS_POINT_SUPERVISED_USER);
+ return;
+ }
+ }
+ DisplayGaiaLogin(signin_metrics::ACCESS_POINT_SETTINGS);
return;
}
#endif

Powered by Google App Engine
This is Rietveld 408576698