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

Unified Diff: chrome/browser/ui/sync/one_click_signin_helper.cc

Issue 12256015: Signing in to sync as a different user is redirecting to sync settings (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address review comments Created 7 years, 10 months 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
« no previous file with comments | « no previous file | chrome/browser/ui/webui/sync_setup_handler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/sync/one_click_signin_helper.cc
diff --git a/chrome/browser/ui/sync/one_click_signin_helper.cc b/chrome/browser/ui/sync/one_click_signin_helper.cc
index 90b0f3be5c68e5db1139c945060b91b06fd2de50..e138f7c1cf068786c1750094cfaff76150fdf8fd 100644
--- a/chrome/browser/ui/sync/one_click_signin_helper.cc
+++ b/chrome/browser/ui/sync/one_click_signin_helper.cc
@@ -99,14 +99,14 @@ struct StartSyncArgs {
const std::string& session_index,
const std::string& email,
const std::string& password,
- bool last_minute_source_change)
+ bool force_same_tab_navigation)
: profile(profile),
browser(browser),
auto_accept(auto_accept),
session_index(session_index),
email(email),
password(password),
- last_minute_source_change(last_minute_source_change) {
+ force_same_tab_navigation(force_same_tab_navigation) {
}
Profile* profile;
@@ -115,7 +115,7 @@ struct StartSyncArgs {
std::string session_index;
std::string email;
std::string password;
- bool last_minute_source_change;
+ bool force_same_tab_navigation;
};
// Start syncing with the given user information.
@@ -130,20 +130,19 @@ void StartSync(const StartSyncArgs& args,
// The starter deletes itself once its done.
new OneClickSigninSyncStarter(args.profile, args.browser, args.session_index,
args.email, args.password, start_mode,
- /* force_same_tab_navigation */
- args.last_minute_source_change);
+ args.force_same_tab_navigation);
int action = one_click_signin::HISTOGRAM_MAX;
switch (args.auto_accept) {
case OneClickSigninHelper::AUTO_ACCEPT_EXPLICIT:
- action = one_click_signin::HISTOGRAM_AUTO_WITH_DEFAULTS;
- break;
- case OneClickSigninHelper::AUTO_ACCEPT_ACCEPTED:
action =
start_mode == OneClickSigninSyncStarter::SYNC_WITH_DEFAULT_SETTINGS ?
one_click_signin::HISTOGRAM_AUTO_WITH_DEFAULTS :
one_click_signin::HISTOGRAM_AUTO_WITH_ADVANCED;
break;
+ case OneClickSigninHelper::AUTO_ACCEPT_ACCEPTED:
+ action = one_click_signin::HISTOGRAM_AUTO_WITH_DEFAULTS;
+ break;
case OneClickSigninHelper::AUTO_ACCEPT_NONE:
action =
start_mode == OneClickSigninSyncStarter::SYNC_WITH_DEFAULT_SETTINGS ?
@@ -452,7 +451,7 @@ bool OneClickInfoBarDelegateImpl::Accept() {
StartSyncArgs(profile, browser,
OneClickSigninHelper::AUTO_ACCEPT_NONE,
session_index_, email_, password_,
- false /* last_minute_source_change */)));
+ false /* force_same_tab_navigation */)));
button_pressed_ = true;
return true;
}
@@ -960,7 +959,7 @@ void OneClickSigninHelper::DidStopLoading(
// comminucated back to chrome when Gaia redirects to the continue URL, and
Andrew T Wilson (Slow) 2013/02/15 10:11:49 nit:comminucated->communicated
Roger Tawa OOO till Jul 10th 2013/02/15 15:19:44 Done.
// this is considered here a last minute change to the source. See a little
// further below for when this variable is set to true.
- bool last_minute_source_change = false;
+ bool force_same_tab_navigation = false;
if (SyncPromoUI::UseWebBasedSigninFlow()) {
if (IsValidGaiaSigninRedirectOrResponseURL(url))
@@ -993,17 +992,20 @@ void OneClickSigninHelper::DidStopLoading(
return;
}
- // In explicit sign ins, the user may have checked the box
+ // In explicit sign ins, the user may have changed the box
// "Let me choose what to sync". This is reflected as a change in the
// source of the continue URL. Make one last check of the current URL
- // to see if there is a valid source and its set to settings. If so,
- // it overrides the current source.
+ // to see if there is a valid source. If so, it overrides the
+ // current source.
+ //
+ // If the source was changed to SOURCE_SETTINGS, we want
+ // OneClickSigninSyncStarter to reuse the current tab to display the
+ // advanced configuration.
SyncPromoUI::Source source =
SyncPromoUI::GetSourceForSyncPromoURL(url);
- if (source == SyncPromoUI::SOURCE_SETTINGS &&
- source_ != SyncPromoUI::SOURCE_SETTINGS) {
- source_ = SyncPromoUI::SOURCE_SETTINGS;
- last_minute_source_change = true;
+ if (source != source_) {
+ source_ = source;
+ force_same_tab_navigation = source_ == SyncPromoUI::SOURCE_SETTINGS;
}
}
}
@@ -1042,19 +1044,19 @@ void OneClickSigninHelper::DidStopLoading(
base::Bind(&StartSync,
StartSyncArgs(profile, browser, auto_accept_,
session_index_, email_, password_,
- false /* last_minute_source_change */)));
+ false /* force_same_tab_navigation */)));
break;
case AUTO_ACCEPT_CONFIGURE:
SigninManager::DisableOneClickSignIn(profile);
StartSync(
StartSyncArgs(profile, browser, auto_accept_, session_index_, email_,
- password_, false /* last_minute_source_change */),
+ password_, false /* force_same_tab_navigation */),
OneClickSigninSyncStarter::CONFIGURE_SYNC_FIRST);
break;
case AUTO_ACCEPT_EXPLICIT: {
OneClickSigninSyncStarter::StartSyncMode start_mode =
- source_ == SyncPromoUI::SOURCE_SETTINGS ?
- OneClickSigninSyncStarter::CONFIGURE_SYNC_FIRST :
+ source_ == SyncPromoUI::SOURCE_SETTINGS ?
+ OneClickSigninSyncStarter::CONFIGURE_SYNC_FIRST :
OneClickSigninSyncStarter::SYNC_WITH_DEFAULT_SETTINGS;
// If the new email address is different from the email address that
@@ -1070,19 +1072,19 @@ void OneClickSigninHelper::DidStopLoading(
&StartExplicitSync,
StartSyncArgs(profile, browser, auto_accept_,
session_index_, email_, password_,
- last_minute_source_change),
+ force_same_tab_navigation),
contents,
start_mode));
} else {
StartExplicitSync(
StartSyncArgs(profile, browser, auto_accept_, session_index_,
- email_, password_, last_minute_source_change),
+ email_, password_, force_same_tab_navigation),
contents,
start_mode,
IDS_ONE_CLICK_SIGNIN_CONFIRM_EMAIL_DIALOG_CANCEL_BUTTON);
}
- if (last_minute_source_change &&
+ if (source_ == SyncPromoUI::SOURCE_SETTINGS &&
SyncPromoUI::GetSourceForSyncPromoURL(continue_url_) ==
SyncPromoUI::SOURCE_WEBSTORE_INSTALL) {
redirect_url_ = continue_url_;
« no previous file with comments | « no previous file | chrome/browser/ui/webui/sync_setup_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698