Chromium Code Reviews| Index: ash/wm/shelf_layout_manager.cc |
| diff --git a/ash/wm/shelf_layout_manager.cc b/ash/wm/shelf_layout_manager.cc |
| index 52f6b03fcedac4705922301067e4a51044a7d48d..4cc641f63832d549de3863afeb070e036d6c4b03 100644 |
| --- a/ash/wm/shelf_layout_manager.cc |
| +++ b/ash/wm/shelf_layout_manager.cc |
| @@ -247,6 +247,17 @@ void ShelfLayoutManager::LayoutShelf() { |
| UpdateHitTestBounds(); |
| } |
| +ShelfVisibilityState ShelfLayoutManager::GetShelfVisibilityState() { |
| + switch(auto_hide_behavior_) { |
| + case SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS: |
| + return SHELF_AUTO_HIDE; |
| + case SHELF_AUTO_HIDE_ALWAYS_HIDDEN: |
| + return SHELF_HIDDEN; |
| + default: |
|
oshima
2013/01/30 00:28:31
case SHELF_AUTO_HIDE_BEHAVIOR_NEVER:
and no defau
zel
2013/01/30 01:01:34
Done.
|
| + return SHELF_VISIBLE; |
| + } |
| +} |
| + |
| void ShelfLayoutManager::UpdateVisibilityState() { |
| ShellDelegate* delegate = Shell::GetInstance()->delegate(); |
| if (delegate && delegate->IsScreenLocked()) { |
| @@ -265,14 +276,12 @@ void ShelfLayoutManager::UpdateVisibilityState() { |
| break; |
| case WORKSPACE_WINDOW_STATE_MAXIMIZED: |
| - SetState(auto_hide_behavior_ == SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS ? |
| - SHELF_AUTO_HIDE : SHELF_VISIBLE); |
| + SetState(GetShelfVisibilityState()); |
| break; |
| case WORKSPACE_WINDOW_STATE_WINDOW_OVERLAPS_SHELF: |
| case WORKSPACE_WINDOW_STATE_DEFAULT: |
| - SetState(auto_hide_behavior_ == SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS ? |
| - SHELF_AUTO_HIDE : SHELF_VISIBLE); |
| + SetState(GetShelfVisibilityState()); |
| SetWindowOverlapsShelf(window_state == |
| WORKSPACE_WINDOW_STATE_WINDOW_OVERLAPS_SHELF); |
| break; |