| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/signin/signin_ui_util.h" | 5 #include "chrome/browser/signin/signin_ui_util.h" |
| 6 | 6 |
| 7 #include "base/strings/sys_string_conversions.h" | 7 #include "base/strings/sys_string_conversions.h" |
| 8 #include "base/utf_string_conversions.h" | 8 #include "base/utf_string_conversions.h" |
| 9 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
| 10 #include "chrome/browser/signin/signin_global_error.h" | 10 #include "chrome/browser/signin/signin_global_error.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 // Maximum width of a username - we trim emails that are wider than this so | 23 // Maximum width of a username - we trim emails that are wider than this so |
| 24 // the wrench menu doesn't get ridiculously wide. | 24 // the wrench menu doesn't get ridiculously wide. |
| 25 const int kUsernameMaxWidth = 200; | 25 const int kUsernameMaxWidth = 200; |
| 26 } // namespace | 26 } // namespace |
| 27 | 27 |
| 28 namespace signin_ui_util { | 28 namespace signin_ui_util { |
| 29 | 29 |
| 30 GlobalError* GetSignedInServiceError(Profile* profile) { | 30 GlobalError* GetSignedInServiceError(Profile* profile) { |
| 31 // Auth errors have the highest priority - after that, individual service | 31 // Auth errors have the highest priority - after that, individual service |
| 32 // errors. | 32 // errors. |
| 33 SigninManager* signin_manager = SigninManagerFactory::GetForProfile(profile); | 33 SigninManagerBase* signin_manager = |
| 34 SigninManagerFactory::GetForProfile(profile); |
| 34 SigninGlobalError* signin_error = signin_manager->signin_global_error(); | 35 SigninGlobalError* signin_error = signin_manager->signin_global_error(); |
| 35 if (signin_error && signin_error->HasMenuItem()) | 36 if (signin_error && signin_error->HasMenuItem()) |
| 36 return signin_error; | 37 return signin_error; |
| 37 | 38 |
| 38 // No auth error - now try other services. Currently the list is just hard- | 39 // No auth error - now try other services. Currently the list is just hard- |
| 39 // coded but in the future if we add more we can create some kind of | 40 // coded but in the future if we add more we can create some kind of |
| 40 // registration framework. | 41 // registration framework. |
| 41 if (profile->IsSyncAccessible()) { | 42 if (profile->IsSyncAccessible()) { |
| 42 ProfileSyncService* service = | 43 ProfileSyncService* service = |
| 43 ProfileSyncServiceFactory::GetForProfile(profile); | 44 ProfileSyncServiceFactory::GetForProfile(profile); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 54 return error->MenuItemLabel(); | 55 return error->MenuItemLabel(); |
| 55 | 56 |
| 56 // No errors, so just display the signed in user, if any. | 57 // No errors, so just display the signed in user, if any. |
| 57 ProfileSyncService* service = profile->IsSyncAccessible() ? | 58 ProfileSyncService* service = profile->IsSyncAccessible() ? |
| 58 ProfileSyncServiceFactory::GetForProfile(profile) : NULL; | 59 ProfileSyncServiceFactory::GetForProfile(profile) : NULL; |
| 59 | 60 |
| 60 // Even if the user is signed in, don't display the "signed in as..." | 61 // Even if the user is signed in, don't display the "signed in as..." |
| 61 // label if we're still setting up sync. | 62 // label if we're still setting up sync. |
| 62 if (!service || !service->FirstSetupInProgress()) { | 63 if (!service || !service->FirstSetupInProgress()) { |
| 63 std::string username; | 64 std::string username; |
| 64 SigninManager* signin_manager = | 65 SigninManagerBase* signin_manager = |
| 65 SigninManagerFactory::GetForProfileIfExists(profile); | 66 SigninManagerFactory::GetForProfileIfExists(profile); |
| 66 if (signin_manager) | 67 if (signin_manager) |
| 67 username = signin_manager->GetAuthenticatedUsername(); | 68 username = signin_manager->GetAuthenticatedUsername(); |
| 68 if (!username.empty() && !signin_manager->AuthInProgress()) { | 69 if (!username.empty() && !signin_manager->AuthInProgress()) { |
| 69 string16 elided_username = ui::ElideEmail(UTF8ToUTF16(username), | 70 string16 elided_username = ui::ElideEmail(UTF8ToUTF16(username), |
| 70 gfx::Font(), | 71 gfx::Font(), |
| 71 kUsernameMaxWidth); | 72 kUsernameMaxWidth); |
| 72 return l10n_util::GetStringFUTF16(IDS_SYNC_MENU_SYNCED_LABEL, | 73 return l10n_util::GetStringFUTF16(IDS_SYNC_MENU_SYNCED_LABEL, |
| 73 elided_username); | 74 elided_username); |
| 74 } | 75 } |
| 75 } | 76 } |
| 76 return l10n_util::GetStringFUTF16(IDS_SYNC_MENU_PRE_SYNCED_LABEL, | 77 return l10n_util::GetStringFUTF16(IDS_SYNC_MENU_PRE_SYNCED_LABEL, |
| 77 l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME)); | 78 l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME)); |
| 78 } | 79 } |
| 79 | 80 |
| 80 // Given an authentication state this helper function returns various labels | 81 // Given an authentication state this helper function returns various labels |
| 81 // that can be used to display information about the state. | 82 // that can be used to display information about the state. |
| 82 void GetStatusLabelsForAuthError(const SigninManager& signin_manager, | 83 void GetStatusLabelsForAuthError(const SigninManagerBase& signin_manager, |
| 83 string16* status_label, | 84 string16* status_label, |
| 84 string16* link_label) { | 85 string16* link_label) { |
| 85 string16 username = UTF8ToUTF16(signin_manager.GetAuthenticatedUsername()); | 86 string16 username = UTF8ToUTF16(signin_manager.GetAuthenticatedUsername()); |
| 86 string16 product_name = l10n_util::GetStringUTF16(IDS_PRODUCT_NAME); | 87 string16 product_name = l10n_util::GetStringUTF16(IDS_PRODUCT_NAME); |
| 87 if (link_label) | 88 if (link_label) |
| 88 link_label->assign(l10n_util::GetStringUTF16(IDS_SYNC_RELOGIN_LINK_LABEL)); | 89 link_label->assign(l10n_util::GetStringUTF16(IDS_SYNC_RELOGIN_LINK_LABEL)); |
| 89 | 90 |
| 90 switch (signin_manager.signin_global_error()->GetLastAuthError().state()) { | 91 switch (signin_manager.signin_global_error()->GetLastAuthError().state()) { |
| 91 case GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS: | 92 case GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS: |
| 92 case GoogleServiceAuthError::ACCOUNT_DELETED: | 93 case GoogleServiceAuthError::ACCOUNT_DELETED: |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 if (status_label) { | 128 if (status_label) { |
| 128 status_label->assign(l10n_util::GetStringUTF16( | 129 status_label->assign(l10n_util::GetStringUTF16( |
| 129 IDS_SYNC_ERROR_SIGNING_IN)); | 130 IDS_SYNC_ERROR_SIGNING_IN)); |
| 130 } | 131 } |
| 131 break; | 132 break; |
| 132 } | 133 } |
| 133 } | 134 } |
| 134 | 135 |
| 135 | 136 |
| 136 } // namespace signin_ui_util | 137 } // namespace signin_ui_util |
| OLD | NEW |