Chromium Code Reviews| Index: chrome/browser/ui/toolbar/wrench_menu_model.cc |
| diff --git a/chrome/browser/ui/toolbar/wrench_menu_model.cc b/chrome/browser/ui/toolbar/wrench_menu_model.cc |
| index d77e397df17835465623ec7ab4667a5f135197b4..92fa84e589442e4d8a4623226e9586084cb78a08 100644 |
| --- a/chrome/browser/ui/toolbar/wrench_menu_model.cc |
| +++ b/chrome/browser/ui/toolbar/wrench_menu_model.cc |
| @@ -18,12 +18,7 @@ |
| #include "chrome/browser/prefs/pref_service.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/profiles/profile_manager.h" |
| -#include "chrome/browser/signin/signin_global_error.h" |
| -#include "chrome/browser/signin/signin_manager.h" |
| -#include "chrome/browser/signin/signin_manager_factory.h" |
| -#include "chrome/browser/sync/profile_sync_service.h" |
| -#include "chrome/browser/sync/profile_sync_service_factory.h" |
| -#include "chrome/browser/sync/sync_global_error.h" |
| +#include "chrome/browser/signin/signin_ui_util.h" |
| #include "chrome/browser/task_manager/task_manager.h" |
| #include "chrome/browser/ui/browser.h" |
| #include "chrome/browser/ui/browser_commands.h" |
| @@ -56,8 +51,6 @@ |
| #include "ui/base/layout.h" |
| #include "ui/base/models/button_menu_item_model.h" |
| #include "ui/base/resource/resource_bundle.h" |
| -#include "ui/base/text/text_elider.h" |
| -#include "ui/gfx/font.h" |
| #include "ui/gfx/image/image.h" |
| #include "ui/gfx/image/image_skia.h" |
| @@ -77,12 +70,6 @@ using content::HostZoomMap; |
| using content::UserMetricsAction; |
| using content::WebContents; |
| -namespace { |
| -// Maximum width of a username - we trim emails that are wider than this so |
| -// the wrench menu doesn't get ridiculously wide. |
| -const int kUsernameMaxWidth = 200; |
| -} // namespace |
| - |
| //////////////////////////////////////////////////////////////////////////////// |
| // EncodingMenuModel |
| @@ -293,33 +280,9 @@ string16 WrenchMenuModel::GetLabelForCommandId(int command_id) const { |
| } |
| case IDC_UPGRADE_DIALOG: |
| return l10n_util::GetStringUTF16(IDS_UPDATE_NOW); |
| - case IDC_SHOW_SIGNIN: { |
| - GlobalError* error = GetActiveSignedInServiceError(); |
| - if (error) |
| - return error->MenuItemLabel(); |
| - |
| - // No errors, so just display the signed in user, if any. |
| - Profile* profile = browser_->profile()->GetOriginalProfile(); |
| - ProfileSyncService* service = profile->IsSyncAccessible() ? |
| - ProfileSyncServiceFactory::GetForProfile(profile) : NULL; |
| - |
| - // Even if the user is signed in, don't display the "signed in as..." |
| - // label if we're still setting up sync. |
| - if (!service || service->HasSyncSetupCompleted()) { |
| - SigninManager* signin_manager = |
| - SigninManagerFactory::GetForProfile(profile); |
| - std::string username = signin_manager->GetAuthenticatedUsername(); |
| - if (!username.empty() && !signin_manager->AuthInProgress()) { |
| - string16 elided_username = ui::ElideEmail(UTF8ToUTF16(username), |
| - gfx::Font(), |
| - kUsernameMaxWidth); |
| - return l10n_util::GetStringFUTF16(IDS_SYNC_MENU_SYNCED_LABEL, |
| - elided_username); |
| - } |
| - } |
| - return l10n_util::GetStringFUTF16(IDS_SYNC_MENU_PRE_SYNCED_LABEL, |
| - l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME)); |
| - } |
| + case IDC_SHOW_SIGNIN: |
| + return signin_ui_util::GetSigninMenuLabel( |
| + browser_->profile()->GetOriginalProfile()); |
| default: |
| NOTREACHED(); |
| return string16(); |
| @@ -340,7 +303,8 @@ bool WrenchMenuModel::GetIconForCommandId(int command_id, |
| return false; |
| } |
| case IDC_SHOW_SIGNIN: { |
| - GlobalError* error = GetActiveSignedInServiceError(); |
| + GlobalError* error = signin_ui_util::GetSignedInServiceError( |
| + browser_->profile()->GetOriginalProfile()); |
| if (error) { |
| int icon_id = error->MenuItemIconResourceID(); |
| if (icon_id) { |
| @@ -365,8 +329,9 @@ void WrenchMenuModel::ExecuteCommand(int command_id) { |
| } |
| if (command_id == IDC_SHOW_SIGNIN) { |
| - // If a custom error message is being shown, display it. |
| - GlobalError* error = GetActiveSignedInServiceError(); |
| + // If a custom error message is being shown, handle it. |
| + GlobalError* error = signin_ui_util::GetSignedInServiceError( |
| + browser_->profile()->GetOriginalProfile()); |
| if (error) { |
| error->ExecuteMenuItem(browser_); |
| return; |
| @@ -569,10 +534,7 @@ void WrenchMenuModel::Build(bool is_new_menu, bool supports_new_separators) { |
| AddItemWithStringId(IDC_SHOW_DOWNLOADS, IDS_SHOW_DOWNLOADS); |
| AddSeparator(ui::NORMAL_SEPARATOR); |
| - // TODO(atwilson): Remove call to IsSyncAccessible() once we fully support |
| - // signin while sync is disabled. |
| - if (browser_defaults::kShowSigninMenuItem && |
| - browser_->profile()->GetOriginalProfile()->IsSyncAccessible()) { |
| + if (browser_defaults::kShowSigninMenuItem) { |
|
Roger Tawa OOO till Jul 10th
2013/01/30 16:46:46
maybe better to now replace with an #ifdef for chr
Andrew T Wilson (Slow)
2013/01/31 10:38:05
Done.
|
| const string16 short_product_name = |
| l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME); |
| AddItem(IDC_SHOW_SYNC_SETUP, l10n_util::GetStringFUTF16( |
| @@ -734,25 +696,3 @@ void WrenchMenuModel::UpdateZoomControls() { |
| zoom_label_ = l10n_util::GetStringFUTF16( |
| IDS_ZOOM_PERCENT, base::IntToString16(zoom_percent)); |
| } |
| - |
| -GlobalError* WrenchMenuModel::GetActiveSignedInServiceError() const { |
| - Profile* profile = browser_->profile()->GetOriginalProfile(); |
| - // Auth errors have the highest priority - after that, individual service |
| - // errors. |
| - SigninManager* signin_manager = SigninManagerFactory::GetForProfile(profile); |
| - SigninGlobalError* signin_error = signin_manager->signin_global_error(); |
| - if (signin_error && signin_error->HasBadge()) |
| - return signin_error; |
| - |
| - // No auth error - now try other services. Currently the list is just hard- |
| - // coded but in the future if we add more we can create some kind of |
| - // registration framework. |
| - if (profile->IsSyncAccessible()) { |
| - ProfileSyncService* service = |
| - ProfileSyncServiceFactory::GetForProfile(profile); |
| - SyncGlobalError* error = service->sync_global_error(); |
| - if (error && error->HasBadge()) |
| - return error; |
| - } |
| - return NULL; |
| -} |