Chromium Code Reviews| Index: chrome/browser/ui/webui/sync_setup_handler.cc |
| diff --git a/chrome/browser/ui/webui/sync_setup_handler.cc b/chrome/browser/ui/webui/sync_setup_handler.cc |
| index 0099937468eaa007829043543bb63dbfb218245b..741f93edf70eec4a44415ee83c47437c4217c4bd 100644 |
| --- a/chrome/browser/ui/webui/sync_setup_handler.cc |
| +++ b/chrome/browser/ui/webui/sync_setup_handler.cc |
| @@ -187,11 +187,6 @@ bool IsKeystoreEncryptionEnabled() { |
| switches::kSyncKeystoreEncryption); |
| } |
| -bool UseWebBasedSigninFlow() { |
| - return CommandLine::ForCurrentProcess()->HasSwitch( |
| - switches::kUseWebBasedSigninFlow); |
| -} |
| - |
| void BringTabToFront(WebContents* web_contents) { |
| Browser* browser = chrome::FindBrowserWithWebContents(web_contents); |
| if (browser) { |
| @@ -502,7 +497,7 @@ void SyncSetupHandler::DisplayConfigureSync(bool show_advanced, |
| web_ui()->CallJavascriptFunction( |
| "SyncSetupOverlay.showSyncSetupPage", page, args); |
| - if (UseWebBasedSigninFlow()) { |
| + if (SyncPromoUI::UseWebBasedSigninFlow()) { |
| // Make sure the tab used for the Gaia sign in does not cover the settings |
| // tab. |
| FocusUI(); |
| @@ -583,23 +578,13 @@ SigninManager* SyncSetupHandler::GetSignin() const { |
| } |
| void SyncSetupHandler::DisplayGaiaLogin(bool fatal_error) { |
| - if (UseWebBasedSigninFlow()) { |
| - DCHECK(!active_gaia_signin_tab_); |
| - |
| + if (SyncPromoUI::UseWebBasedSigninFlow()) { |
| // 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; |
| - GURL url(SyncPromoUI::GetSyncPromoURL(GURL(), |
| - SyncPromoUI::SOURCE_SETTINGS, false)); |
| - Browser* browser = chrome::FindBrowserWithWebContents( |
| - web_ui()->GetWebContents()); |
| - active_gaia_signin_tab_ = browser->OpenURL( |
| - content::OpenURLParams(url, content::Referrer(), SINGLETON_TAB, |
| - content::PAGE_TRANSITION_AUTO_BOOKMARK, |
| - false)); |
| - content::WebContentsObserver::Observe(active_gaia_signin_tab_); |
| + DisplayGaiaLoginInNewTab(); |
| signin_tracker_.reset( |
| new SigninTracker(GetProfile(), this, |
| SigninTracker::WAITING_FOR_GAIA_VALIDATION)); |
| @@ -609,6 +594,19 @@ void SyncSetupHandler::DisplayGaiaLogin(bool fatal_error) { |
| } |
| } |
| +void SyncSetupHandler::DisplayGaiaLoginInNewTab() { |
| + DCHECK(!active_gaia_signin_tab_); |
| + GURL url(SyncPromoUI::GetSyncPromoURL(GURL(), |
| + SyncPromoUI::SOURCE_SETTINGS, false)); |
| + Browser* browser = chrome::FindBrowserWithWebContents( |
| + web_ui()->GetWebContents()); |
| + active_gaia_signin_tab_ = browser->OpenURL( |
| + content::OpenURLParams(url, content::Referrer(), SINGLETON_TAB, |
| + content::PAGE_TRANSITION_AUTO_BOOKMARK, |
| + false)); |
| + content::WebContentsObserver::Observe(active_gaia_signin_tab_); |
| +} |
| + |
| void SyncSetupHandler::DisplayGaiaLoginWithErrorMessage( |
| const string16& error_message, bool fatal_error) { |
| // Advanced options are no longer being configured if the login screen is |
| @@ -741,7 +739,7 @@ void SyncSetupHandler::DisplayGaiaSuccessAndClose() { |
| void SyncSetupHandler::DisplayGaiaSuccessAndSettingUp() { |
| RecordSignin(); |
| - if (UseWebBasedSigninFlow()) |
| + if (SyncPromoUI::UseWebBasedSigninFlow()) |
| CloseGaiaSigninPage(); |
| web_ui()->CallJavascriptFunction("SyncSetupOverlay.showSuccessAndSettingUp"); |
| @@ -842,7 +840,7 @@ void SyncSetupHandler::SigninFailed(const GoogleServiceAuthError& error) { |
| // If using web-based sign in flow, don't show the gaia sign in page again |
| // since there is no way to show the user an error message. |
| - if (UseWebBasedSigninFlow()) { |
| + if (SyncPromoUI::UseWebBasedSigninFlow()) { |
| CloseSyncSetup(); |
| } else if (retry_on_signin_failure_) { |
| // Got a failed signin - this is either just a typical auth error, or a |
| @@ -1115,7 +1113,7 @@ void SyncSetupHandler::OpenSyncSetup(bool force_login) { |
| DisplayConfigureSync(true, false); |
| } |
| - if (!UseWebBasedSigninFlow()) |
| + if (!SyncPromoUI::UseWebBasedSigninFlow()) |
| ShowSetupUI(); |
| } |
| @@ -1129,7 +1127,7 @@ void SyncSetupHandler::OpenConfigureSync() { |
| void SyncSetupHandler::FocusUI() { |
| DCHECK(IsActiveLogin()); |
| - if (UseWebBasedSigninFlow() && signin_tracker_) { |
| + if (SyncPromoUI::UseWebBasedSigninFlow() && signin_tracker_) { |
| BringTabToFront(active_gaia_signin_tab_); |
|
Andrew T Wilson (Slow)
2012/12/08 08:38:24
Wrong indent.
Roger Tawa OOO till Jul 10th
2012/12/08 14:42:16
Done.
|
| } else { |
| WebContents* web_contents = web_ui()->GetWebContents(); |