| Index: ash/system/tray/system_tray.h
|
| diff --git a/ash/system/tray/system_tray.h b/ash/system/tray/system_tray.h
|
| index a42632f999f165f098e4905bd0f8feffac5cbd18..57cc2e78add1162d83a6618434c39dfde7cdbe12 100644
|
| --- a/ash/system/tray/system_tray.h
|
| +++ b/ash/system/tray/system_tray.h
|
| @@ -34,6 +34,7 @@ class IMEObserver;
|
| class LocaleObserver;
|
| class LogoutButtonObserver;
|
| class PowerStatusObserver;
|
| +class SystemTrayDelegate;
|
| class UpdateObserver;
|
| class UserObserver;
|
| #if defined(OS_CHROMEOS)
|
| @@ -61,8 +62,9 @@ class ASH_EXPORT SystemTray : public internal::TrayBackgroundView,
|
| explicit SystemTray(internal::StatusAreaWidget* status_area_widget);
|
| virtual ~SystemTray();
|
|
|
| - // Creates the default set of items for the sytem tray.
|
| - void CreateItems();
|
| + // Calls TrayBackgroundView::Initialize(), creates the tray items, and
|
| + // adds them to SystemTrayNotifier.
|
| + void InitializeTrayItems(SystemTrayDelegate* delegate);
|
|
|
| // Adds a new item in the tray.
|
| void AddTrayItem(SystemTrayItem* item);
|
| @@ -118,64 +120,12 @@ class ASH_EXPORT SystemTray : public internal::TrayBackgroundView,
|
| // Returns true if the mouse is inside the notification bubble.
|
| bool IsMouseInNotificationBubble() const;
|
|
|
| - AccessibilityObserver* accessibility_observer() {
|
| - return accessibility_observer_;
|
| - }
|
| - AudioObserver* audio_observer() {
|
| - return audio_observer_;
|
| - }
|
| - BluetoothObserver* bluetooth_observer() {
|
| - return bluetooth_observer_;
|
| - }
|
| - BrightnessObserver* brightness_observer() {
|
| - return brightness_observer_;
|
| - }
|
| - CapsLockObserver* caps_lock_observer() {
|
| - return caps_lock_observer_;
|
| - }
|
| - ClockObserver* clock_observer() {
|
| - return clock_observer_;
|
| - }
|
| - DriveObserver* drive_observer() {
|
| - return drive_observer_;
|
| - }
|
| - IMEObserver* ime_observer() {
|
| - return ime_observer_;
|
| - }
|
| - LocaleObserver* locale_observer() {
|
| - return locale_observer_;
|
| - }
|
| - LogoutButtonObserver* logout_button_observer() {
|
| - return logout_button_observer_;
|
| - }
|
| -#if defined(OS_CHROMEOS)
|
| - NetworkObserver* network_observer() {
|
| - return network_observer_;
|
| - }
|
| - NetworkObserver* vpn_observer() {
|
| - return vpn_observer_;
|
| - }
|
| - SmsObserver* sms_observer() {
|
| - return sms_observer_;
|
| - }
|
| -#endif
|
| - ObserverList<PowerStatusObserver>& power_status_observers() {
|
| - return power_status_observers_;
|
| - }
|
| - UpdateObserver* update_observer() {
|
| - return update_observer_;
|
| - }
|
| - UserObserver* user_observer() {
|
| - return user_observer_;
|
| - }
|
| -
|
| // Accessors for testing.
|
|
|
| // Returns true if the bubble exists.
|
| bool CloseBubbleForTest() const;
|
|
|
| // Overridden from TrayBackgroundView.
|
| - virtual void Initialize() OVERRIDE;
|
| virtual void SetShelfAlignment(ShelfAlignment alignment) OVERRIDE;
|
| virtual void AnchorUpdated() OVERRIDE;
|
| virtual string16 GetAccessibleNameForTray() OVERRIDE;
|
| @@ -194,6 +144,9 @@ class ASH_EXPORT SystemTray : public internal::TrayBackgroundView,
|
| virtual void HideBubble(const views::TrayBubbleView* bubble_view) OVERRIDE;
|
|
|
| private:
|
| + // Creates the default set of items for the sytem tray.
|
| + void CreateItems(SystemTrayDelegate* delegate);
|
| +
|
| // Returns true if the system_bubble_ exists and is of type |type|.
|
| bool HasSystemBubbleType(internal::SystemTrayBubble::BubbleType type);
|
|
|
| @@ -237,26 +190,6 @@ class ASH_EXPORT SystemTray : public internal::TrayBackgroundView,
|
| // 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_;
|
| - BluetoothObserver* bluetooth_observer_;
|
| - BrightnessObserver* brightness_observer_;
|
| - CapsLockObserver* caps_lock_observer_;
|
| - ClockObserver* clock_observer_;
|
| - DriveObserver* drive_observer_;
|
| - IMEObserver* ime_observer_;
|
| - LocaleObserver* locale_observer_;
|
| - LogoutButtonObserver* logout_button_observer_;
|
| -#if defined(OS_CHROMEOS)
|
| - NetworkObserver* network_observer_;
|
| - NetworkObserver* vpn_observer_;
|
| - SmsObserver* sms_observer_;
|
| -#endif
|
| - ObserverList<PowerStatusObserver> power_status_observers_;
|
| - UpdateObserver* update_observer_;
|
| - UserObserver* user_observer_;
|
| -
|
| // Bubble for default and detailed views.
|
| scoped_ptr<internal::SystemBubbleWrapper> system_bubble_;
|
|
|
|
|