diff options
author | harrym@chromium.org <harrym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-24 23:02:49 +0000 |
---|---|---|
committer | harrym@chromium.org <harrym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-24 23:02:49 +0000 |
commit | 2c6ccdf53bcecd75637d345a246f48d499a576fb (patch) | |
tree | 3899626c0db0a49a178055302603d867f297b8ff /ash/launcher | |
parent | 6982f488324851658dd1292f78ea7d0f8161482f (diff) | |
download | chromium_src-2c6ccdf53bcecd75637d345a246f48d499a576fb.zip chromium_src-2c6ccdf53bcecd75637d345a246f48d499a576fb.tar.gz chromium_src-2c6ccdf53bcecd75637d345a246f48d499a576fb.tar.bz2 |
Revert of AutoHide Behavior
BUG=146773
TBR=sky@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10969076
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158436 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/launcher')
-rw-r--r-- | ash/launcher/launcher_context_menu.cc | 27 | ||||
-rw-r--r-- | ash/launcher/launcher_context_menu_unittest.cc | 18 |
2 files changed, 34 insertions, 11 deletions
diff --git a/ash/launcher/launcher_context_menu.cc b/ash/launcher/launcher_context_menu.cc index f2ea498..0b307dc 100644 --- a/ash/launcher/launcher_context_menu.cc +++ b/ash/launcher/launcher_context_menu.cc @@ -25,19 +25,38 @@ LauncherContextMenu::~LauncherContextMenu() { // static bool LauncherContextMenu::IsAutoHideMenuHideChecked() { - return ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS == + internal::RootWindowController* controller = + Shell::GetPrimaryRootWindowController(); + ash::ShelfAutoHideBehavior auto_hide_behavior = Shell::GetInstance()->GetShelfAutoHideBehavior(); + return (controller->IsInMaximizedMode() && + (auto_hide_behavior == ash::SHELF_AUTO_HIDE_BEHAVIOR_DEFAULT || + auto_hide_behavior == ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS)) || + (!controller->IsInMaximizedMode() && + auto_hide_behavior == ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); } // static ShelfAutoHideBehavior LauncherContextMenu::GetToggledAutoHideBehavior() { - return IsAutoHideMenuHideChecked() ? ash::SHELF_AUTO_HIDE_BEHAVIOR_NEVER : - ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS; + ash::ShelfAutoHideBehavior auto_hide_behavior; + if (Shell::GetPrimaryRootWindowController()->IsInMaximizedMode()) { + if (IsAutoHideMenuHideChecked()) + auto_hide_behavior = ash::SHELF_AUTO_HIDE_BEHAVIOR_NEVER; + else + auto_hide_behavior = ash::SHELF_AUTO_HIDE_BEHAVIOR_DEFAULT; + } else if (IsAutoHideMenuHideChecked()) { + auto_hide_behavior = ash::SHELF_AUTO_HIDE_BEHAVIOR_DEFAULT; + } else { + auto_hide_behavior = ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS; + } + return auto_hide_behavior; } // static int LauncherContextMenu::GetAutoHideResourceStringId() { - return IDS_AURA_LAUNCHER_CONTEXT_MENU_AUTO_HIDE; + return Shell::GetPrimaryRootWindowController()->IsInMaximizedMode() ? + IDS_AURA_LAUNCHER_CONTEXT_MENU_AUTO_HIDE_MAXIMIZED : + IDS_AURA_LAUNCHER_CONTEXT_MENU_AUTO_HIDE_NOT_MAXIMIZED; } bool LauncherContextMenu::IsCommandIdChecked(int command_id) const { diff --git a/ash/launcher/launcher_context_menu_unittest.cc b/ash/launcher/launcher_context_menu_unittest.cc index 0fc9318..29faa9e 100644 --- a/ash/launcher/launcher_context_menu_unittest.cc +++ b/ash/launcher/launcher_context_menu_unittest.cc @@ -29,25 +29,29 @@ TEST_F(LauncherContextMenuTest, ToggleAutoHide) { wm::ActivateWindow(window.get()); Shell* shell = Shell::GetInstance(); - shell->SetShelfAutoHideBehavior(ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); + // If the auto-hide behavior isn't DEFAULT, the rest of the tests don't make + // sense. + EXPECT_EQ(ash::SHELF_AUTO_HIDE_BEHAVIOR_DEFAULT, + shell->GetShelfAutoHideBehavior()); + EXPECT_FALSE(LauncherContextMenu::IsAutoHideMenuHideChecked()); + shell->SetShelfAutoHideBehavior( + LauncherContextMenu::GetToggledAutoHideBehavior()); EXPECT_EQ(ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shell->GetShelfAutoHideBehavior()); - EXPECT_TRUE(LauncherContextMenu::IsAutoHideMenuHideChecked()); shell->SetShelfAutoHideBehavior( LauncherContextMenu::GetToggledAutoHideBehavior()); - EXPECT_EQ(ash::SHELF_AUTO_HIDE_BEHAVIOR_NEVER, + EXPECT_EQ(ash::SHELF_AUTO_HIDE_BEHAVIOR_DEFAULT, shell->GetShelfAutoHideBehavior()); window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MAXIMIZED); - EXPECT_FALSE(LauncherContextMenu::IsAutoHideMenuHideChecked()); + EXPECT_TRUE(LauncherContextMenu::IsAutoHideMenuHideChecked()); shell->SetShelfAutoHideBehavior( LauncherContextMenu::GetToggledAutoHideBehavior()); - EXPECT_EQ(ash::SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, + EXPECT_EQ(ash::SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shell->GetShelfAutoHideBehavior()); - EXPECT_TRUE(LauncherContextMenu::IsAutoHideMenuHideChecked()); shell->SetShelfAutoHideBehavior( LauncherContextMenu::GetToggledAutoHideBehavior()); - EXPECT_EQ(ash::SHELF_AUTO_HIDE_BEHAVIOR_NEVER, + EXPECT_EQ(ash::SHELF_AUTO_HIDE_BEHAVIOR_DEFAULT, shell->GetShelfAutoHideBehavior()); } |