summaryrefslogtreecommitdiffstats
path: root/ash/launcher
diff options
context:
space:
mode:
authorharrym@chromium.org <harrym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-24 23:02:49 +0000
committerharrym@chromium.org <harrym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-24 23:02:49 +0000
commit2c6ccdf53bcecd75637d345a246f48d499a576fb (patch)
tree3899626c0db0a49a178055302603d867f297b8ff /ash/launcher
parent6982f488324851658dd1292f78ea7d0f8161482f (diff)
downloadchromium_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.cc27
-rw-r--r--ash/launcher/launcher_context_menu_unittest.cc18
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());
}