diff options
author | skuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-10 23:37:02 +0000 |
---|---|---|
committer | skuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-10 23:37:02 +0000 |
commit | 3b3a16b5915710431a8bad1d53dbf4867d8d1393 (patch) | |
tree | 8a2c1ebaffe007ccc88305c7107ac38c3561730e | |
parent | 9fe0bfec5a0752af29d17856d8d4909687bfaa4a (diff) | |
download | chromium_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.cc | 12 |
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(); |