OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ash/system/web_notification/web_notification_tray.h" | 5 #include "ash/system/web_notification/web_notification_tray.h" |
6 | 6 |
7 #include "ash/ash_switches.h" | 7 #include "ash/ash_switches.h" |
8 #include "ash/root_window_controller.h" | 8 #include "ash/root_window_controller.h" |
9 #include "ash/shelf/shelf_layout_manager.h" | 9 #include "ash/shelf/shelf_layout_manager.h" |
10 #include "ash/shelf/shelf_layout_manager_observer.h" | 10 #include "ash/shelf/shelf_layout_manager_observer.h" |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 class WorkAreaObserver : public ShelfLayoutManagerObserver, | 76 class WorkAreaObserver : public ShelfLayoutManagerObserver, |
77 public ShellObserver { | 77 public ShellObserver { |
78 public: | 78 public: |
79 WorkAreaObserver(); | 79 WorkAreaObserver(); |
80 virtual ~WorkAreaObserver(); | 80 virtual ~WorkAreaObserver(); |
81 | 81 |
82 void SetSystemTrayHeight(int height); | 82 void SetSystemTrayHeight(int height); |
83 | 83 |
84 // Starts observing |shelf| and shell and sends the change to |collection|. | 84 // Starts observing |shelf| and shell and sends the change to |collection|. |
85 void StartObserving(message_center::MessagePopupCollection* collection, | 85 void StartObserving(message_center::MessagePopupCollection* collection, |
86 aura::RootWindow* root_window); | 86 aura::Window* root_window); |
87 | 87 |
88 // Stops the observing session. | 88 // Stops the observing session. |
89 void StopObserving(); | 89 void StopObserving(); |
90 | 90 |
91 // Overridden from ShellObserver: | 91 // Overridden from ShellObserver: |
92 virtual void OnDisplayWorkAreaInsetsChanged() OVERRIDE; | 92 virtual void OnDisplayWorkAreaInsetsChanged() OVERRIDE; |
93 | 93 |
94 // Overridden from ShelfLayoutManagerObserver: | 94 // Overridden from ShelfLayoutManagerObserver: |
95 virtual void OnAutoHideStateChanged(ShelfAutoHideState new_state) OVERRIDE; | 95 virtual void OnAutoHideStateChanged(ShelfAutoHideState new_state) OVERRIDE; |
96 | 96 |
97 private: | 97 private: |
98 // Updates |shelf_| from |root_window_|. | 98 // Updates |shelf_| from |root_window_|. |
99 void UpdateShelf(); | 99 void UpdateShelf(); |
100 | 100 |
101 message_center::MessagePopupCollection* collection_; | 101 message_center::MessagePopupCollection* collection_; |
102 aura::RootWindow* root_window_; | 102 aura::Window* root_window_; |
103 ShelfLayoutManager* shelf_; | 103 ShelfLayoutManager* shelf_; |
104 int system_tray_height_; | 104 int system_tray_height_; |
105 | 105 |
106 DISALLOW_COPY_AND_ASSIGN(WorkAreaObserver); | 106 DISALLOW_COPY_AND_ASSIGN(WorkAreaObserver); |
107 }; | 107 }; |
108 | 108 |
109 WorkAreaObserver::WorkAreaObserver() | 109 WorkAreaObserver::WorkAreaObserver() |
110 : collection_(NULL), | 110 : collection_(NULL), |
111 root_window_(NULL), | 111 root_window_(NULL), |
112 shelf_(NULL), | 112 shelf_(NULL), |
(...skipping 19 matching lines...) Expand all Loading... |
132 system_tray_height_ += message_center::kMarginBetweenItems; | 132 system_tray_height_ += message_center::kMarginBetweenItems; |
133 | 133 |
134 if (!shelf_) | 134 if (!shelf_) |
135 return; | 135 return; |
136 | 136 |
137 OnAutoHideStateChanged(shelf_->auto_hide_state()); | 137 OnAutoHideStateChanged(shelf_->auto_hide_state()); |
138 } | 138 } |
139 | 139 |
140 void WorkAreaObserver::StartObserving( | 140 void WorkAreaObserver::StartObserving( |
141 message_center::MessagePopupCollection* collection, | 141 message_center::MessagePopupCollection* collection, |
142 aura::RootWindow* root_window) { | 142 aura::Window* root_window) { |
143 DCHECK(collection); | 143 DCHECK(collection); |
144 collection_ = collection; | 144 collection_ = collection; |
145 root_window_ = root_window; | 145 root_window_ = root_window; |
146 UpdateShelf(); | 146 UpdateShelf(); |
147 Shell::GetInstance()->AddShellObserver(this); | 147 Shell::GetInstance()->AddShellObserver(this); |
148 if (system_tray_height_ > 0) | 148 if (system_tray_height_ > 0) |
149 OnAutoHideStateChanged(shelf_->auto_hide_state()); | 149 OnAutoHideStateChanged(shelf_->auto_hide_state()); |
150 } | 150 } |
151 | 151 |
152 void WorkAreaObserver::StopObserving() { | 152 void WorkAreaObserver::StopObserving() { |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 | 342 |
343 int max_height = 0; | 343 int max_height = 0; |
344 aura::Window* status_area_window = status_area_widget()->GetNativeView(); | 344 aura::Window* status_area_window = status_area_widget()->GetNativeView(); |
345 switch (GetShelfLayoutManager()->GetAlignment()) { | 345 switch (GetShelfLayoutManager()->GetAlignment()) { |
346 case SHELF_ALIGNMENT_BOTTOM: { | 346 case SHELF_ALIGNMENT_BOTTOM: { |
347 gfx::Rect shelf_bounds = GetShelfLayoutManager()->GetIdealBounds(); | 347 gfx::Rect shelf_bounds = GetShelfLayoutManager()->GetIdealBounds(); |
348 max_height = shelf_bounds.y(); | 348 max_height = shelf_bounds.y(); |
349 break; | 349 break; |
350 } | 350 } |
351 case SHELF_ALIGNMENT_TOP: { | 351 case SHELF_ALIGNMENT_TOP: { |
352 aura::RootWindow* root = status_area_window->GetRootWindow(); | 352 aura::Window* root = status_area_window->GetRootWindow(); |
353 max_height = | 353 max_height = |
354 root->bounds().height() - status_area_window->bounds().height(); | 354 root->bounds().height() - status_area_window->bounds().height(); |
355 break; | 355 break; |
356 } | 356 } |
357 case SHELF_ALIGNMENT_LEFT: | 357 case SHELF_ALIGNMENT_LEFT: |
358 case SHELF_ALIGNMENT_RIGHT: { | 358 case SHELF_ALIGNMENT_RIGHT: { |
359 // Assume that the bottom line of the status area widget and the bubble | 359 // Assume that the bottom line of the status area widget and the bubble |
360 // are aligned. | 360 // are aligned. |
361 max_height = status_area_window->GetBoundsInRootWindow().bottom(); | 361 max_height = status_area_window->GetBoundsInRootWindow().bottom(); |
362 break; | 362 break; |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
607 | 607 |
608 message_center::MessageCenterBubble* | 608 message_center::MessageCenterBubble* |
609 WebNotificationTray::GetMessageCenterBubbleForTest() { | 609 WebNotificationTray::GetMessageCenterBubbleForTest() { |
610 if (!message_center_bubble()) | 610 if (!message_center_bubble()) |
611 return NULL; | 611 return NULL; |
612 return static_cast<message_center::MessageCenterBubble*>( | 612 return static_cast<message_center::MessageCenterBubble*>( |
613 message_center_bubble()->bubble()); | 613 message_center_bubble()->bubble()); |
614 } | 614 } |
615 | 615 |
616 } // namespace ash | 616 } // namespace ash |
OLD | NEW |