Chromium Code Reviews| 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 826 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 837 void SyncSetupHandler::OpenSyncSetup() { | 837 void SyncSetupHandler::OpenSyncSetup() { |
| 838 if (!PrepareSyncSetup()) | 838 if (!PrepareSyncSetup()) |
| 839 return; | 839 return; |
| 840 | 840 |
| 841 // There are several different UI flows that can bring the user here: | 841 // There are several different UI flows that can bring the user here: |
| 842 // 1) Signin promo. | 842 // 1) Signin promo. |
| 843 // 2) Normal signin through settings page (GetAuthenticatedUsername() is | 843 // 2) Normal signin through settings page (GetAuthenticatedUsername() is |
| 844 // empty). | 844 // empty). |
| 845 // 3) Previously working credentials have expired. | 845 // 3) Previously working credentials have expired. |
| 846 // 4) User is signed in, but has stopped sync via the google dashboard, and | 846 // 4) User is signed in, but has stopped sync via the google dashboard, and |
| 847 // signout is prohibited by policy so we need to force a re-auth. | 847 // signout is prohibited by policy so we need to force a re-auth to update |
| 848 // ProfileSyncService's auth token. | |
| 848 // 5) User clicks [Advanced Settings] button on options page while already | 849 // 5) User clicks [Advanced Settings] button on options page while already |
| 849 // logged in. | 850 // logged in. |
| 850 // 6) One-click signin (credentials are already available, so should display | 851 // 6) One-click signin (credentials are already available, so should display |
| 851 // sync configure UI, not login UI). | 852 // sync configure UI, not login UI). |
| 852 // 7) User re-enables sync after disabling it via advanced settings. | 853 // 7) User re-enables sync after disabling it via advanced settings. |
| 853 #if !defined(OS_CHROMEOS) | 854 #if !defined(OS_CHROMEOS) |
| 854 SigninManagerBase* signin = | 855 SigninManagerBase* signin = |
| 855 SigninManagerFactory::GetForProfile(GetProfile()); | 856 SigninManagerFactory::GetForProfile(GetProfile()); |
| 856 | 857 ProfileSyncService* service = GetSyncService(); |
| 857 if (signin->GetAuthenticatedUsername().empty() || | 858 if (signin->GetAuthenticatedUsername().empty() || |
| 858 SigninGlobalError::GetForProfile(GetProfile())->HasMenuItem()) { | 859 SigninGlobalError::GetForProfile(GetProfile())->HasMenuItem() || |
| 860 (service && !service->IsOAuthRefreshTokenAvailable())) { | |
|
Andrew T Wilson (Slow)
2013/08/21 08:30:46
I think this probably isn't the right way to do th
Raghu Simha
2013/08/22 00:05:12
Agreed. I've sent out a new CL with a different ap
| |
| 859 // User is not logged in (cases 1-2), or login has been specially requested | 861 // User is not logged in (cases 1-2), or login has been specially requested |
| 860 // because previously working credentials have expired (case 3). Close sync | 862 // because previously working credentials have expired (case 3), or sync |
| 861 // setup including any visible overlays, and display the gaia auth page. | 863 // no longer has a valid auth token (case 4). Close sync setup including any |
| 862 // Control will be returned to the sync settings page once auth is complete. | 864 // visible overlays, and display the gaia auth page. Control will be |
| 865 // returned to the sync settings page once auth is complete. | |
| 863 CloseSyncSetup(); | 866 CloseSyncSetup(); |
| 864 DisplayGaiaLogin(); | 867 DisplayGaiaLogin(); |
| 865 return; | 868 return; |
| 866 } | 869 } |
| 867 #endif | 870 #endif |
| 868 if (!GetSyncService()) { | 871 if (!GetSyncService()) { |
| 869 // This can happen if the user directly navigates to /settings/syncSetup. | 872 // This can happen if the user directly navigates to /settings/syncSetup. |
| 870 DLOG(WARNING) << "Cannot display sync UI when sync is disabled"; | 873 DLOG(WARNING) << "Cannot display sync UI when sync is disabled"; |
| 871 CloseSyncSetup(); | 874 CloseSyncSetup(); |
| 872 return; | 875 return; |
| 873 } | 876 } |
| 874 | 877 |
| 875 // User is already logged in. They must have brought up the config wizard | 878 // User is already logged in. They must have brought up the config wizard |
| 876 // via the "Advanced..." button or through One-Click signin (cases 4-6), or | 879 // via the "Advanced..." button or through One-Click signin (cases 5-6), or |
| 877 // they are re-enabling sync after having disabled it (case 7). | 880 // they are re-enabling sync after having disabled it (case 7). |
| 878 DisplayConfigureSync(true, false); | 881 DisplayConfigureSync(true, false); |
| 879 } | 882 } |
| 880 | 883 |
| 881 void SyncSetupHandler::OpenConfigureSync() { | 884 void SyncSetupHandler::OpenConfigureSync() { |
| 882 if (!PrepareSyncSetup()) | 885 if (!PrepareSyncSetup()) |
| 883 return; | 886 return; |
| 884 | 887 |
| 885 DisplayConfigureSync(true, false); | 888 DisplayConfigureSync(true, false); |
| 886 } | 889 } |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 908 | 911 |
| 909 LoginUIService* service = GetLoginUIService(); | 912 LoginUIService* service = GetLoginUIService(); |
| 910 DCHECK(service); | 913 DCHECK(service); |
| 911 service->current_login_ui()->FocusUI(); | 914 service->current_login_ui()->FocusUI(); |
| 912 return true; | 915 return true; |
| 913 } | 916 } |
| 914 | 917 |
| 915 LoginUIService* SyncSetupHandler::GetLoginUIService() const { | 918 LoginUIService* SyncSetupHandler::GetLoginUIService() const { |
| 916 return LoginUIServiceFactory::GetForProfile(GetProfile()); | 919 return LoginUIServiceFactory::GetForProfile(GetProfile()); |
| 917 } | 920 } |
| OLD | NEW |