Index: ash/system/tray/system_tray.cc |
diff --git a/ash/system/tray/system_tray.cc b/ash/system/tray/system_tray.cc |
index 47157ea46ff28178488112a6d98057d2b5d2eb88..6419acd38e1bf761abacdfd3c58868a9249ab5ef 100644 |
--- a/ash/system/tray/system_tray.cc |
+++ b/ash/system/tray/system_tray.cc |
@@ -320,16 +320,6 @@ bool SystemTray::HasNotificationBubble() const { |
return notification_bubble_.get() != NULL; |
} |
-bool SystemTray::IsPressed() { |
- // Only when a full system tray bubble gets shown true will be returned. |
- // Small bubbles (like audio modifications via keyboard) should return false. |
- // Since showing the e.g. network portion of the system tray menu will convert |
- // the |system_bubble_| from type |BUBBLE_TYPE_DEFAULT| into |
- // |BUBBLE_TYPE_DETAILED| the full tray cannot reliably be checked trhough the |
- // type. As such |full_system_tray_menu_| gets checked here. |
- return HasSystemBubble() && full_system_tray_menu_; |
-} |
- |
internal::SystemTrayBubble* SystemTray::GetSystemBubble() { |
if (!system_bubble_) |
return NULL; |
@@ -482,6 +472,11 @@ void SystemTray::ShowItems(const std::vector<SystemTrayItem*>& items, |
if (!notification_bubble_) |
UpdateWebNotifications(); |
GetShelfLayoutManager()->UpdateAutoHideState(); |
+ |
+ // When we show the system menu in our alternate shelf layout, we need to |
+ // tint the background. |
+ if (full_system_tray_menu_) |
+ SetDrawBackgroundAsActive(true); |
} |
void SystemTray::UpdateNotificationBubble() { |
@@ -591,6 +586,12 @@ void SystemTray::HideBubbleWithView(const TrayBubbleView* bubble_view) { |
DestroySystemBubble(); |
UpdateNotificationBubble(); // State changed, re-create notifications. |
GetShelfLayoutManager()->UpdateAutoHideState(); |
+ // When closing a system bubble with the alternate shelf layout, we need to |
+ // turn off the active tinting of the shelf. |
+ if (full_system_tray_menu_) { |
+ SetDrawBackgroundAsActive(false); |
+ full_system_tray_menu_ = false; |
+ } |
} else if (notification_bubble_.get() && |
bubble_view == notification_bubble_->bubble_view()) { |
DestroyNotificationBubble(); |