OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 #ifndef ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ | 5 #ifndef ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ |
6 #define ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ | 6 #define ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 // shelf. Specifying 0 leads to use the default. | 149 // shelf. Specifying 0 leads to use the default. |
150 void SetAnimationDurationOverride(int duration_override_in_ms); | 150 void SetAnimationDurationOverride(int duration_override_in_ms); |
151 | 151 |
152 // Overridden from SnapLayoutManager: | 152 // Overridden from SnapLayoutManager: |
153 void OnWindowResized() override; | 153 void OnWindowResized() override; |
154 void SetChildBounds(aura::Window* child, | 154 void SetChildBounds(aura::Window* child, |
155 const gfx::Rect& requested_bounds) override; | 155 const gfx::Rect& requested_bounds) override; |
156 | 156 |
157 // Overridden from ash::ShellObserver: | 157 // Overridden from ash::ShellObserver: |
158 void OnLockStateChanged(bool locked) override; | 158 void OnLockStateChanged(bool locked) override; |
159 void OnShelfAlignmentChanged(aura::Window* root_window) override; | |
160 void OnShelfAutoHideBehaviorChanged(aura::Window* root_window) override; | 159 void OnShelfAutoHideBehaviorChanged(aura::Window* root_window) override; |
161 | 160 |
162 // Overriden from aura::client::ActivationChangeObserver: | 161 // Overriden from aura::client::ActivationChangeObserver: |
163 void OnWindowActivated( | 162 void OnWindowActivated( |
164 aura::client::ActivationChangeObserver::ActivationReason reason, | 163 aura::client::ActivationChangeObserver::ActivationReason reason, |
165 aura::Window* gained_active, | 164 aura::Window* gained_active, |
166 aura::Window* lost_active) override; | 165 aura::Window* lost_active) override; |
167 | 166 |
168 // Overridden from ash::LockStateObserver: | 167 // Overridden from ash::LockStateObserver: |
169 void OnLockStateEvent(LockStateObserver::EventType event) override; | 168 void OnLockStateEvent(LockStateObserver::EventType event) override; |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 | 208 |
210 // Is the shelf's alignment horizontal? | 209 // Is the shelf's alignment horizontal? |
211 bool IsHorizontalAlignment() const; | 210 bool IsHorizontalAlignment() const; |
212 | 211 |
213 // Set the height of the ChromeVox panel, which takes away space from the | 212 // Set the height of the ChromeVox panel, which takes away space from the |
214 // available work area from the top of the screen. | 213 // available work area from the top of the screen. |
215 void SetChromeVoxPanelHeight(int height); | 214 void SetChromeVoxPanelHeight(int height); |
216 | 215 |
217 private: | 216 private: |
218 class AutoHideEventFilter; | 217 class AutoHideEventFilter; |
| 218 class RootWindowControllerObserverImpl; |
219 class UpdateShelfObserver; | 219 class UpdateShelfObserver; |
220 friend class AshPopupAlignmentDelegateTest; | 220 friend class AshPopupAlignmentDelegateTest; |
221 friend class ash::ScreenAsh; | 221 friend class ash::ScreenAsh; |
222 friend class PanelLayoutManagerTest; | 222 friend class PanelLayoutManagerTest; |
223 friend class ShelfLayoutManagerTest; | 223 friend class ShelfLayoutManagerTest; |
224 friend class ToastManagerTest; | 224 friend class ToastManagerTest; |
225 FRIEND_TEST_ALL_PREFIXES(ash::AshPopupAlignmentDelegateTest, AutoHide); | 225 FRIEND_TEST_ALL_PREFIXES(ash::AshPopupAlignmentDelegateTest, AutoHide); |
226 FRIEND_TEST_ALL_PREFIXES(ash::WebNotificationTrayTest, PopupAndFullscreen); | 226 FRIEND_TEST_ALL_PREFIXES(ash::WebNotificationTrayTest, PopupAndFullscreen); |
227 | 227 |
228 struct TargetBounds { | 228 struct TargetBounds { |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 // keyboard. | 391 // keyboard. |
392 gfx::Rect user_work_area_bounds_; | 392 gfx::Rect user_work_area_bounds_; |
393 | 393 |
394 // The height of the ChromeVox panel at the top of the screen, which | 394 // The height of the ChromeVox panel at the top of the screen, which |
395 // needs to be removed from the available work area. | 395 // needs to be removed from the available work area. |
396 int chromevox_panel_height_; | 396 int chromevox_panel_height_; |
397 | 397 |
398 // The show hide animation duration override or 0 for default. | 398 // The show hide animation duration override or 0 for default. |
399 int duration_override_in_ms_; | 399 int duration_override_in_ms_; |
400 | 400 |
| 401 std::unique_ptr<RootWindowControllerObserverImpl> |
| 402 root_window_controller_observer_; |
| 403 |
401 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager); | 404 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager); |
402 }; | 405 }; |
403 | 406 |
404 } // namespace ash | 407 } // namespace ash |
405 | 408 |
406 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ | 409 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ |
OLD | NEW |