Index: ash/system/user/user_view.cc |
diff --git a/ash/system/user/user_view.cc b/ash/system/user/user_view.cc |
index fe2ff061c8ceb920ba8c8d8fb6ab226e587c99ae..fb96987cd927ad46fb9072484ed2716bab72ebdc 100644 |
--- a/ash/system/user/user_view.cc |
+++ b/ash/system/user/user_view.cc |
@@ -36,6 +36,7 @@ |
#include "ui/gfx/canvas.h" |
#include "ui/gfx/geometry/insets.h" |
#include "ui/gfx/paint_vector_icon.h" |
+#include "ui/native_theme/native_theme.h" |
#include "ui/views/controls/button/label_button.h" |
#include "ui/views/controls/label.h" |
#include "ui/views/controls/separator.h" |
@@ -72,8 +73,7 @@ bool IsMultiProfileSupportedAndUserActive() { |
} |
// Creates the view shown in the user switcher popup ("AddUserMenuOption"). |
-views::View* CreateAddUserView(AddUserSessionPolicy policy, |
- views::ButtonListener* listener) { |
+views::View* CreateAddUserView(AddUserSessionPolicy policy) { |
auto* view = new views::View; |
const int icon_padding = (kMenuButtonSize - kMenuIconSize) / 2; |
auto* layout = |
@@ -81,8 +81,8 @@ views::View* CreateAddUserView(AddUserSessionPolicy policy, |
kTrayPopupLabelHorizontalPadding + icon_padding); |
layout->set_minimum_cross_axis_size(kTrayPopupItemMinHeight); |
view->SetLayoutManager(layout); |
- view->set_background( |
- views::Background::CreateSolidBackground(kBackgroundColor)); |
+ view->set_background(views::Background::CreateThemedSolidBackground( |
+ view, ui::NativeTheme::kColorId_BubbleBackground)); |
int message_id = 0; |
switch (policy) { |
@@ -123,13 +123,6 @@ views::View* CreateAddUserView(AddUserSessionPolicy policy, |
view->SetBorder(views::CreateEmptyBorder(vertical_padding, icon_padding, |
vertical_padding, |
kTrayPopupLabelHorizontalPadding)); |
- if (policy == AddUserSessionPolicy::ALLOWED) { |
- auto* button = |
- new ButtonFromView(view, listener, TrayPopupInkDropStyle::INSET_BOUNDS); |
- button->SetAccessibleName( |
- l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_SIGN_IN_ANOTHER_ACCOUNT)); |
- return button; |
- } |
return view; |
} |
@@ -364,14 +357,23 @@ void UserView::ToggleAddUserMenuOption() { |
views::View* container = new AddUserWidgetContents( |
base::Bind(&UserView::RemoveAddUserMenuOption, base::Unretained(this))); |
+ views::View* add_user_view = CreateAddUserView(add_user_policy); |
+ const SkColor bg_color = add_user_view->background()->get_color(); |
container->SetBorder(views::CreatePaddedBorder( |
- views::CreateSolidSidedBorder(0, 0, 0, kSeparatorWidth, kBackgroundColor), |
+ views::CreateSolidSidedBorder(0, 0, 0, kSeparatorWidth, bg_color), |
gfx::Insets(row_height, 0, 0, 0))); |
views::View* add_user_padding = new views::View(); |
add_user_padding->SetBorder(views::CreateSolidSidedBorder( |
- kMenuSeparatorVerticalPadding, 0, 0, 0, kBackgroundColor)); |
- views::View* add_user_view = CreateAddUserView(add_user_policy, this); |
- add_user_padding->AddChildView(add_user_view); |
+ kMenuSeparatorVerticalPadding, 0, 0, 0, bg_color)); |
+ if (add_user_enabled_) { |
+ auto* button = new ButtonFromView(add_user_view, this, |
+ TrayPopupInkDropStyle::INSET_BOUNDS); |
+ button->SetAccessibleName( |
+ l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_SIGN_IN_ANOTHER_ACCOUNT)); |
+ add_user_padding->AddChildView(button); |
Evan Stade
2017/04/19 18:49:07
oops, this will break the button pressed handler.
|
+ } else { |
+ add_user_padding->AddChildView(add_user_view); |
+ } |
add_user_padding->SetLayoutManager(new views::FillLayout()); |
container->AddChildView(add_user_padding); |
container->SetLayoutManager(new views::FillLayout()); |