Index: ash/system/tray/system_tray.h |
diff --git a/ash/system/tray/system_tray.h b/ash/system/tray/system_tray.h |
index 376fea4fa1114b45cbde16dec4e91b58e143c26f..169d49162141532d34a795c3b780b65fefbe3140 100644 |
--- a/ash/system/tray/system_tray.h |
+++ b/ash/system/tray/system_tray.h |
@@ -16,6 +16,7 @@ |
#include "base/memory/scoped_vector.h" |
#include "ui/views/view.h" |
+#include <map> |
#include <vector> |
namespace ash { |
@@ -147,10 +148,18 @@ class ASH_EXPORT SystemTray : public internal::ActionableView, |
const ScopedVector<SystemTrayItem>& items() const { return items_; } |
+ // Calculates the x-offset for the item in the tray. Returns -1 if its tray |
+ // item view is not visible. |
+ int GetTrayXOffset(SystemTrayItem* item) const; |
+ |
+ // Shows the default view and its arrow position is shifted by |x_offset|. |
+ void ShowDefaultViewWithOffset(int x_offset); |
+ |
// Constructs or re-constructs |bubble_| and populates it with |items|. |
void ShowItems(const std::vector<SystemTrayItem*>& items, |
bool details, |
- bool activate); |
+ bool activate, |
+ int x_offset); |
// Constructs or re-constructs |notification_bubble_| and populates it with |
// |notification_items_|, or destroys it if there are no notification items. |
@@ -179,6 +188,9 @@ class ASH_EXPORT SystemTray : public internal::ActionableView, |
// The container for all the tray views of the items. |
views::View* tray_container_; |
+ // Mappings of system tray item and it's view in the tray. |
+ std::map<SystemTrayItem*, views::View*> tray_item_map_; |
+ |
// These observers are not owned by the tray. |
AccessibilityObserver* accessibility_observer_; |
AudioObserver* audio_observer_; |