Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / notifications / message_center_tray_bridge.h
index 185e474..1b15ea1 100644 (file)
@@ -11,6 +11,8 @@
 #include "base/mac/scoped_nsobject.h"
 #include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
+#include "base/prefs/pref_member.h"
+#include "ui/message_center/message_center.h"
 #include "ui/message_center/message_center_tray_delegate.h"
 
 @class MCPopupCollection;
@@ -30,17 +32,17 @@ class MessageCenterTrayBridge :
  public:
   explicit MessageCenterTrayBridge(
       message_center::MessageCenter* message_center);
-  virtual ~MessageCenterTrayBridge();
+  ~MessageCenterTrayBridge() override;
 
   // message_center::MessageCenterTrayDelegate:
-  virtual void OnMessageCenterTrayChanged() OVERRIDE;
-  virtual bool ShowPopups() OVERRIDE;
-  virtual void HidePopups() OVERRIDE;
-  virtual bool ShowMessageCenter() OVERRIDE;
-  virtual void HideMessageCenter() OVERRIDE;
-  virtual bool ShowNotifierSettings() OVERRIDE;
-  virtual bool IsContextMenuEnabled() const OVERRIDE;
-  virtual message_center::MessageCenterTray* GetMessageCenterTray() OVERRIDE;
+  void OnMessageCenterTrayChanged() override;
+  bool ShowPopups() override;
+  void HidePopups() override;
+  bool ShowMessageCenter() override;
+  void HideMessageCenter() override;
+  bool ShowNotifierSettings() override;
+  bool IsContextMenuEnabled() const override;
+  message_center::MessageCenterTray* GetMessageCenterTray() override;
 
   message_center::MessageCenter* message_center() { return message_center_; }
 
@@ -53,6 +55,13 @@ class MessageCenterTrayBridge :
   // Opens the message center tray.
   void OpenTrayWindow();
 
+  // Uses the pref controlled by the main menu to determine whether the status
+  // item should be shown.
+  bool ShouldShowStatusItem() const;
+
+  // Notifies that the user has changed the show menubar item preference.
+  void OnShowStatusItemChanged();
+
   // The global, singleton message center model object. Weak.
   message_center::MessageCenter* message_center_;
 
@@ -68,6 +77,10 @@ class MessageCenterTrayBridge :
   // Obj-C controller for the on-screen popup notifications.
   base::scoped_nsobject<MCPopupCollection> popup_collection_;
 
+  // A PrefMember that calls OnShowStatusItemChanged when the pref is updated
+  // by the user's selection in the main menu.
+  BooleanPrefMember show_status_item_;
+
   // Weak pointer factory to posts tasks to self.
   base::WeakPtrFactory<MessageCenterTrayBridge> weak_ptr_factory_;