Index: ash/system/tray/system_tray.cc |
diff --git a/ash/system/tray/system_tray.cc b/ash/system/tray/system_tray.cc |
index 9df2c4c27d640e0f61183f5073d79857496a2ed4..736e6e68a0034e5b2e292c36609059f27fb4339b 100644 |
--- a/ash/system/tray/system_tray.cc |
+++ b/ash/system/tray/system_tray.cc |
@@ -48,6 +48,16 @@ |
#include "ui/views/layout/fill_layout.h" |
#include "ui/views/view.h" |
+namespace { |
+ |
+// Adjust the size of SystemTrayContainer with additional padding. |
+const int kTrayContainerVerticalPaddingBottomAlignment = 1; |
+const int kTrayContainerHorizontalPaddingBottomAlignment = 1; |
+const int kTrayContainerVerticalPaddingVerticalAlignment = 1; |
+const int kTrayContainerHorizontalPaddingVerticalAlignment = 2; |
+ |
+} // namespace |
+ |
namespace ash { |
namespace internal { |
@@ -59,8 +69,26 @@ class SystemTrayContainer : public views::View { |
SystemTrayContainer() {} |
virtual ~SystemTrayContainer() {} |
- void SetLayoutManager(views::LayoutManager* layout_manager) { |
- views::View::SetLayoutManager(layout_manager); |
+ void UpdateLayout(ShelfAlignment alignment) { |
+ // Adjust the size of status tray dark background by adding additional |
+ // empty border. |
+ if (alignment == SHELF_ALIGNMENT_BOTTOM) { |
+ set_border(views::Border::CreateEmptyBorder( |
+ kTrayContainerVerticalPaddingBottomAlignment, |
+ kTrayContainerHorizontalPaddingBottomAlignment, |
+ kTrayContainerVerticalPaddingBottomAlignment, |
+ kTrayContainerHorizontalPaddingBottomAlignment)); |
+ views::View::SetLayoutManager(new views::BoxLayout( |
+ views::BoxLayout::kHorizontal, 0, 0, 0)); |
+ } else { |
+ set_border(views::Border::CreateEmptyBorder( |
+ kTrayContainerVerticalPaddingVerticalAlignment, |
+ kTrayContainerHorizontalPaddingVerticalAlignment, |
+ kTrayContainerVerticalPaddingVerticalAlignment, |
+ kTrayContainerHorizontalPaddingVerticalAlignment)); |
+ views::View::SetLayoutManager(new views::BoxLayout( |
+ views::BoxLayout::kVertical, 0, 0, 0)); |
+ } |
PreferredSizeChanged(); |
} |
@@ -134,10 +162,7 @@ SystemTray::SystemTray() |
default_bubble_height_(0), |
hide_notifications_(false) { |
tray_container_ = new internal::SystemTrayContainer; |
- tray_container_->SetLayoutManager(new views::BoxLayout( |
- views::BoxLayout::kHorizontal, 0, 0, 0)); |
- tray_container_->set_border( |
- views::Border::CreateEmptyBorder(1, 1, 1, 1)); |
+ tray_container_->UpdateLayout(shelf_alignment()); |
SetContents(tray_container_); |
SetBorder(); |
} |
@@ -487,14 +512,14 @@ void SystemTray::SetBorder() { |
kPaddingFromRightEdgeOfScreenBottomAlignment)); |
} else if (shelf_alignment() == SHELF_ALIGNMENT_LEFT) { |
set_border(views::Border::CreateEmptyBorder(0, |
- kPaddingFromEdgeOfScreenVerticalAlignment, |
+ kPaddingFromOuterEdgeOfLauncherVerticalAlignment, |
kPaddingFromBottomOfScreenVerticalAlignment, |
- kPaddingFromEdgeOfLauncherVerticalAlignment)); |
+ kPaddingFromInnerEdgeOfLauncherVerticalAlignment)); |
} else { |
set_border(views::Border::CreateEmptyBorder(0, |
- kPaddingFromEdgeOfLauncherVerticalAlignment, |
+ kPaddingFromInnerEdgeOfLauncherVerticalAlignment, |
kPaddingFromBottomOfScreenVerticalAlignment, |
- kPaddingFromEdgeOfScreenVerticalAlignment)); |
+ kPaddingFromOuterEdgeOfLauncherVerticalAlignment)); |
} |
} |
@@ -504,10 +529,7 @@ void SystemTray::SetShelfAlignment(ShelfAlignment alignment) { |
internal::TrayBackgroundView::SetShelfAlignment(alignment); |
UpdateAfterShelfAlignmentChange(alignment); |
SetBorder(); |
- tray_container_->SetLayoutManager(new views::BoxLayout( |
- alignment == SHELF_ALIGNMENT_BOTTOM ? |
- views::BoxLayout::kHorizontal : views::BoxLayout::kVertical, |
- 0, 0, 0)); |
+ tray_container_->UpdateLayout(alignment); |
} |
bool SystemTray::PerformAction(const views::Event& event) { |