| Index: ash/system/tray/system_tray.cc
|
| diff --git a/ash/system/tray/system_tray.cc b/ash/system/tray/system_tray.cc
|
| index 2ce03de1d0f18250efbf7d0d9b1467cf5ad73642..5870e5500c0d8610897fd92661fbd4bd1c3d3ad5 100644
|
| --- a/ash/system/tray/system_tray.cc
|
| +++ b/ash/system/tray/system_tray.cc
|
| @@ -58,64 +58,13 @@ const int kShadowHeight = 3;
|
| const int kLeftPadding = 4;
|
| const int kBottomLineHeight = 1;
|
|
|
| -const int kTrayIconHeight = 29;
|
| -
|
| const SkColor kShadowColor = SkColorSetARGB(25, 0, 0, 0);
|
|
|
| const SkColor kTrayBackgroundAlpha = 100;
|
| const SkColor kTrayBackgroundHoverAlpha = 150;
|
|
|
| -// Container for items in the tray. It makes sure the widget is updated
|
| -// correctly when the visibility/size of the tray item changes.
|
| -// TODO: setup animation.
|
| -class TrayItemContainer : public views::View {
|
| - public:
|
| - explicit TrayItemContainer(views::View* view) : child_(view) {
|
| - AddChildView(child_);
|
| - SetVisible(child_->visible());
|
| - }
|
| -
|
| - virtual ~TrayItemContainer() {}
|
| -
|
| - private:
|
| - // Makes sure the widget relayouts after the size/visibility of the view
|
| - // changes.
|
| - void ApplyChange() {
|
| - // Forcing the widget to the new size is sufficient. The positing is taken
|
| - // care of by the layout manager (ShelfLayoutManager).
|
| - GetWidget()->SetSize(GetWidget()->GetContentsView()->GetPreferredSize());
|
| - }
|
| -
|
| - // Overridden from views::View.
|
| - virtual void Layout() {
|
| - child_->SetBoundsRect(gfx::Rect(size()));
|
| - }
|
| -
|
| - virtual gfx::Size GetPreferredSize() OVERRIDE {
|
| - gfx::Size size = child_->GetPreferredSize();
|
| - size.set_height(kTrayIconHeight);
|
| - return size;
|
| - }
|
| -
|
| - virtual void ChildPreferredSizeChanged(views::View* child) OVERRIDE {
|
| - ApplyChange();
|
| - }
|
| -
|
| - virtual void ChildVisibilityChanged(views::View* child) OVERRIDE {
|
| - if (visible() == child_->visible())
|
| - return;
|
| - SetVisible(child_->visible());
|
| - ApplyChange();
|
| - }
|
| -
|
| - views::View* child_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(TrayItemContainer);
|
| -};
|
| -
|
| // A view with some special behaviour for tray items in the popup:
|
| // - changes background color on hover.
|
| -// - TODO: accessibility
|
| class TrayPopupItemContainer : public views::View {
|
| public:
|
| explicit TrayPopupItemContainer(views::View* view) : hover_(false) {
|
| @@ -499,7 +448,7 @@ void SystemTray::AddTrayItem(SystemTrayItem* item) {
|
| SystemTrayDelegate* delegate = Shell::GetInstance()->tray_delegate();
|
| views::View* tray_item = item->CreateTrayView(delegate->GetUserLoginStatus());
|
| if (tray_item) {
|
| - container_->AddChildViewAt(new TrayItemContainer(tray_item), 0);
|
| + container_->AddChildViewAt(tray_item, 0);
|
| PreferredSizeChanged();
|
| }
|
| }
|
| @@ -558,7 +507,7 @@ void SystemTray::UpdateAfterLoginStatusChange(user::LoginStatus login_status) {
|
| ++it) {
|
| views::View* view = (*it)->CreateTrayView(login_status);
|
| if (view)
|
| - container_->AddChildViewAt(new TrayItemContainer(view), 0);
|
| + container_->AddChildViewAt(view, 0);
|
| }
|
| SetVisible(true);
|
| PreferredSizeChanged();
|
|
|