summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-10 23:37:02 +0000
committerskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-10 23:37:02 +0000
commit3b3a16b5915710431a8bad1d53dbf4867d8d1393 (patch)
tree8a2c1ebaffe007ccc88305c7107ac38c3561730e
parent9fe0bfec5a0752af29d17856d8d4909687bfaa4a (diff)
downloadchromium_src-3b3a16b5915710431a8bad1d53dbf4867d8d1393.zip
chromium_src-3b3a16b5915710431a8bad1d53dbf4867d8d1393.tar.gz
chromium_src-3b3a16b5915710431a8bad1d53dbf4867d8d1393.tar.bz2
Fixing problem where in some cases the tray area stays highlighted
By locking the session, the system tray menu gets closed through DestroySystemBubble which does not deactivate the system tray. On the other hand "HideBubbleWithView" is calling DestroySystemBubble as well. Note that there are also other special cases like UpdateLoginStatusChange which were destroying the system bubble without clearing the activation state (which should be fixed by this CL as well). BUG=288233 TEST=visual Review URL: https://chromiumcodereview.appspot.com/23620034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222398 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--ash/system/tray/system_tray.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/ash/system/tray/system_tray.cc b/ash/system/tray/system_tray.cc
index 6419acd..e07a2d6 100644
--- a/ash/system/tray/system_tray.cc
+++ b/ash/system/tray/system_tray.cc
@@ -365,6 +365,12 @@ void SystemTray::DestroySystemBubble() {
system_bubble_.reset();
detailed_item_ = NULL;
UpdateWebNotifications();
+ // 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;
+ }
}
void SystemTray::DestroyNotificationBubble() {
@@ -586,12 +592,6 @@ 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();