diff options
author | pkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-30 17:49:20 +0000 |
---|---|---|
committer | pkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-30 17:49:20 +0000 |
commit | 700849ffe63508dc0868271f257ada11bcdf2791 (patch) | |
tree | 95fe7b776d78e4a75108ac2515e2f69653ef7db1 /ash/shelf/shelf_layout_manager.cc | |
parent | 982970e2cc90dba47e0cc264fea7a46988ddfd8b (diff) | |
download | chromium_src-700849ffe63508dc0868271f257ada11bcdf2791.zip chromium_src-700849ffe63508dc0868271f257ada11bcdf2791.tar.gz chromium_src-700849ffe63508dc0868271f257ada11bcdf2791.tar.bz2 |
Hide the tab indicators and the shelf when in immersive + tab fullscreen.
BUG=234447, 233271
Test=ImmersiveModeControllerAshTest.TabAndBrowserFullscreen,
RootWindowController.GetFullscreenWindow
Review URL: https://chromiumcodereview.appspot.com/14340007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197400 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shelf/shelf_layout_manager.cc')
-rw-r--r-- | ash/shelf/shelf_layout_manager.cc | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/ash/shelf/shelf_layout_manager.cc b/ash/shelf/shelf_layout_manager.cc index 977655f..fa4e47f 100644 --- a/ash/shelf/shelf_layout_manager.cc +++ b/ash/shelf/shelf_layout_manager.cc @@ -19,6 +19,7 @@ #include "ash/system/status_area_widget.h" #include "ash/wm/property_util.h" #include "ash/wm/window_cycle_controller.h" +#include "ash/wm/window_properties.h" #include "ash/wm/window_util.h" #include "ash/wm/workspace_controller.h" #include "ash/wm/workspace/workspace_animations.h" @@ -276,18 +277,21 @@ void ShelfLayoutManager::UpdateVisibilityState() { // TODO(zelidrag): Verify shelf drag animation still shows on the device // when we are in SHELF_AUTO_HIDE_ALWAYS_HIDDEN. SetState(CalculateShelfVisibilityWhileDragging()); - } else if (GetRootWindowController(root_window_)->IsImmersiveMode()) { - // The user choosing immersive mode indicates he or she wants to maximize - // screen real-estate for content, so always auto-hide the shelf. - DCHECK_NE(auto_hide_behavior_, SHELF_AUTO_HIDE_ALWAYS_HIDDEN); - SetState(SHELF_AUTO_HIDE); } else { WorkspaceWindowState window_state(workspace_controller_->GetWindowState()); switch (window_state) { case WORKSPACE_WINDOW_STATE_FULL_SCREEN: - SetState(SHELF_HIDDEN); + { + aura::Window* fullscreen_window = + GetRootWindowController(root_window_)->GetFullscreenWindow(); + if (fullscreen_window->GetProperty(kFullscreenUsesMinimalChromeKey)) { + DCHECK_NE(auto_hide_behavior_, SHELF_AUTO_HIDE_ALWAYS_HIDDEN); + SetState(SHELF_AUTO_HIDE); + } else { + SetState(SHELF_HIDDEN); + } break; - + } case WORKSPACE_WINDOW_STATE_MAXIMIZED: SetState(CalculateShelfVisibility()); break; |