OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/webui/sync_setup_handler.h" | 5 #include "chrome/browser/ui/webui/sync_setup_handler.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
500 args.SetBoolean("usePassphrase", service->IsUsingSecondaryPassphrase()); | 500 args.SetBoolean("usePassphrase", service->IsUsingSecondaryPassphrase()); |
501 } | 501 } |
502 | 502 |
503 StringValue page("configure"); | 503 StringValue page("configure"); |
504 web_ui()->CallJavascriptFunction( | 504 web_ui()->CallJavascriptFunction( |
505 "SyncSetupOverlay.showSyncSetupPage", page, args); | 505 "SyncSetupOverlay.showSyncSetupPage", page, args); |
506 | 506 |
507 if (UseWebBasedSigninFlow()) { | 507 if (UseWebBasedSigninFlow()) { |
508 // Make sure the tab used for the Gaia sign in does not cover the settings | 508 // Make sure the tab used for the Gaia sign in does not cover the settings |
509 // tab. | 509 // tab. |
510 BringTabToFront(web_ui()->GetWebContents()); | 510 FocusUI(); |
511 } | 511 } |
512 } | 512 } |
513 | 513 |
514 void SyncSetupHandler::ConfigureSyncDone() { | 514 void SyncSetupHandler::ConfigureSyncDone() { |
515 StringValue page("done"); | 515 StringValue page("done"); |
516 web_ui()->CallJavascriptFunction( | 516 web_ui()->CallJavascriptFunction( |
517 "SyncSetupOverlay.showSyncSetupPage", page); | 517 "SyncSetupOverlay.showSyncSetupPage", page); |
518 | 518 |
519 // Suppress the sync promo once the user signs into sync. This way the user | 519 // Suppress the sync promo once the user signs into sync. This way the user |
520 // doesn't see the sync promo even if they sign out of sync later on. | 520 // doesn't see the sync promo even if they sign out of sync later on. |
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
834 | 834 |
835 // Gaia credentials are valid - update the UI. | 835 // Gaia credentials are valid - update the UI. |
836 DisplayGaiaSuccessAndSettingUp(); | 836 DisplayGaiaSuccessAndSettingUp(); |
837 } | 837 } |
838 | 838 |
839 void SyncSetupHandler::SigninFailed(const GoogleServiceAuthError& error) { | 839 void SyncSetupHandler::SigninFailed(const GoogleServiceAuthError& error) { |
840 // Stop a timer to handle timeout in waiting for checking network connection. | 840 // Stop a timer to handle timeout in waiting for checking network connection. |
841 backend_start_timer_.reset(); | 841 backend_start_timer_.reset(); |
842 | 842 |
843 last_signin_error_ = error; | 843 last_signin_error_ = error; |
844 // Got a failed signin - this is either just a typical auth error, or a | 844 |
845 // sync error (treat sync errors as "fatal errors" - i.e. non-auth errors). | 845 // If using web-based sign in flow, don't show the gaia sign in page again |
846 // On ChromeOS, this condition can happen when auth token is invalid and | 846 // since there is no way to show the user an error message. |
847 // cannot start sync backend. | 847 if (UseWebBasedSigninFlow()) { |
848 if (retry_on_signin_failure_) { | 848 CloseSyncSetup(); |
849 DisplayGaiaLogin(GetSyncService()->HasUnrecoverableError()); | |
850 } else { | 849 } else { |
851 // TODO(peria): Show error dialog for prompting sign in and out on | 850 // Got a failed signin - this is either just a typical auth error, or a |
852 // Chrome OS. http://crbug.com/128692 | 851 // sync error (treat sync errors as "fatal errors" - i.e. non-auth errors). |
853 CloseOverlay(); | 852 // On ChromeOS, this condition can happen when auth token is invalid and |
853 // cannot start sync backend. | |
854 // If using web-based sign in flow, don't show the gaia sign in page again | |
855 // since there is no way to show the user an error message. | |
856 if (retry_on_signin_failure_) { | |
Evan Stade
2012/12/04 20:42:32
if {} else {if {} else {}} ==> if {} else if {} el
Roger Tawa OOO till Jul 10th
2012/12/04 21:18:36
Done.
| |
857 DisplayGaiaLogin(GetSyncService()->HasUnrecoverableError()); | |
858 } else { | |
859 // TODO(peria): Show error dialog for prompting sign in and out on | |
860 // Chrome OS. http://crbug.com/128692 | |
861 CloseOverlay(); | |
862 } | |
854 } | 863 } |
855 } | 864 } |
856 | 865 |
857 Profile* SyncSetupHandler::GetProfile() const { | 866 Profile* SyncSetupHandler::GetProfile() const { |
858 return Profile::FromWebUI(web_ui()); | 867 return Profile::FromWebUI(web_ui()); |
859 } | 868 } |
860 | 869 |
861 ProfileSyncService* SyncSetupHandler::GetSyncService() const { | 870 ProfileSyncService* SyncSetupHandler::GetSyncService() const { |
862 return ProfileSyncServiceFactory::GetForProfile(GetProfile()); | 871 return ProfileSyncServiceFactory::GetForProfile(GetProfile()); |
863 } | 872 } |
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1215 if (i != current_profile_index && AreUserNamesEqual( | 1224 if (i != current_profile_index && AreUserNamesEqual( |
1216 cache.GetUserNameOfProfileAtIndex(i), username_utf16)) { | 1225 cache.GetUserNameOfProfileAtIndex(i), username_utf16)) { |
1217 *error_message = l10n_util::GetStringUTF16( | 1226 *error_message = l10n_util::GetStringUTF16( |
1218 IDS_SYNC_USER_NAME_IN_USE_ERROR); | 1227 IDS_SYNC_USER_NAME_IN_USE_ERROR); |
1219 return false; | 1228 return false; |
1220 } | 1229 } |
1221 } | 1230 } |
1222 | 1231 |
1223 return true; | 1232 return true; |
1224 } | 1233 } |
OLD | NEW |