diff options
-rw-r--r-- | ash/accelerators/accelerator_commands.cc | 11 | ||||
-rw-r--r-- | ash/accelerators/accelerator_commands.h | 4 | ||||
-rw-r--r-- | ash/accelerators/accelerator_controller.cc | 2 | ||||
-rw-r--r-- | ash/shell/shell_delegate_impl.cc | 5 | ||||
-rw-r--r-- | ash/shell/shell_delegate_impl.h | 1 | ||||
-rw-r--r-- | ash/shell_delegate.h | 3 | ||||
-rw-r--r-- | ash/test/test_shell_delegate.cc | 6 | ||||
-rw-r--r-- | ash/test/test_shell_delegate.h | 1 | ||||
-rw-r--r-- | chrome/browser/ui/ash/chrome_shell_delegate.cc | 15 | ||||
-rw-r--r-- | chrome/browser/ui/ash/chrome_shell_delegate.h | 1 | ||||
-rw-r--r-- | chrome/browser/ui/ash/chrome_shell_delegate_browsertest.cc | 16 |
11 files changed, 27 insertions, 38 deletions
diff --git a/ash/accelerators/accelerator_commands.cc b/ash/accelerators/accelerator_commands.cc index c3271b4..1cb326d 100644 --- a/ash/accelerators/accelerator_commands.cc +++ b/ash/accelerators/accelerator_commands.cc @@ -34,5 +34,16 @@ bool ToggleMinimized() { return true; } +void ToggleMaximized() { + wm::WindowState* window_state = wm::GetActiveWindowState(); + if (!window_state) + return; + // Get out of fullscreen when in fullscreen mode. + if (window_state->IsFullscreen()) + Shell::GetInstance()->delegate()->ToggleFullscreen(); + else + window_state->ToggleMaximized(); +} + } // namespace accelerators } // namespace ash diff --git a/ash/accelerators/accelerator_commands.h b/ash/accelerators/accelerator_commands.h index 5fe2775..36006e7 100644 --- a/ash/accelerators/accelerator_commands.h +++ b/ash/accelerators/accelerator_commands.h @@ -17,6 +17,10 @@ namespace accelerators { // restored. ASH_EXPORT bool ToggleMinimized(); +// Toggles the maxmized state. If the window is in fulllscreen, it exits +// fullscreen mode. +ASH_EXPORT void ToggleMaximized(); + } // namespace accelerators } // namespace ash diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc index cf3abeb..4a73ee4 100644 --- a/ash/accelerators/accelerator_controller.cc +++ b/ash/accelerators/accelerator_controller.cc @@ -846,7 +846,7 @@ bool AcceleratorController::PerformAction(int action, return true; } case TOGGLE_MAXIMIZED: { - shell->delegate()->ToggleMaximized(); + accelerators::ToggleMaximized(); return true; } case WINDOW_POSITION_CENTER: { diff --git a/ash/shell/shell_delegate_impl.cc b/ash/shell/shell_delegate_impl.cc index 4a4dbd9..6d65f8b 100644 --- a/ash/shell/shell_delegate_impl.cc +++ b/ash/shell/shell_delegate_impl.cc @@ -78,10 +78,7 @@ void ShellDelegateImpl::NewWindow(bool incognito) { } void ShellDelegateImpl::ToggleFullscreen() { - ToggleMaximized(); -} - -void ShellDelegateImpl::ToggleMaximized() { + // TODO(oshima): Remove this when crbug.com/309837 is implemented. wm::WindowState* window_state = wm::GetActiveWindowState(); if (window_state) window_state->ToggleMaximized(); diff --git a/ash/shell/shell_delegate_impl.h b/ash/shell/shell_delegate_impl.h index 4c215b2..4d4abe9 100644 --- a/ash/shell/shell_delegate_impl.h +++ b/ash/shell/shell_delegate_impl.h @@ -36,7 +36,6 @@ class ShellDelegateImpl : public ash::ShellDelegate { virtual void NewTab() OVERRIDE; virtual void NewWindow(bool incognito) OVERRIDE; virtual void ToggleFullscreen() OVERRIDE; - virtual void ToggleMaximized() OVERRIDE; virtual void OpenFileManager() OVERRIDE; virtual void OpenCrosh() OVERRIDE; virtual void RestoreTab() OVERRIDE; diff --git a/ash/shell_delegate.h b/ash/shell_delegate.h index ecbfff5..02fea7f 100644 --- a/ash/shell_delegate.h +++ b/ash/shell_delegate.h @@ -142,9 +142,6 @@ class ASH_EXPORT ShellDelegate { // Invoked when the user uses Shift+F4 to toggle the window fullscreen state. virtual void ToggleFullscreen() = 0; - // Invoked when the user uses F4 to toggle window maximized state. - virtual void ToggleMaximized() = 0; - // Invoked when an accelerator is used to open the file manager. virtual void OpenFileManager() = 0; diff --git a/ash/test/test_shell_delegate.cc b/ash/test/test_shell_delegate.cc index f22847a..8dfff8e 100644 --- a/ash/test/test_shell_delegate.cc +++ b/ash/test/test_shell_delegate.cc @@ -68,12 +68,6 @@ void TestShellDelegate::NewTab() { void TestShellDelegate::NewWindow(bool incognito) { } -void TestShellDelegate::ToggleMaximized() { - wm::WindowState* window_state = wm::GetActiveWindowState(); - if (window_state) - window_state->ToggleMaximized(); -} - void TestShellDelegate::ToggleFullscreen() { } diff --git a/ash/test/test_shell_delegate.h b/ash/test/test_shell_delegate.h index 1b6bb9e..c4c8332 100644 --- a/ash/test/test_shell_delegate.h +++ b/ash/test/test_shell_delegate.h @@ -39,7 +39,6 @@ class TestShellDelegate : public ShellDelegate { virtual void NewTab() OVERRIDE; virtual void NewWindow(bool incognito) OVERRIDE; virtual void ToggleFullscreen() OVERRIDE; - virtual void ToggleMaximized() OVERRIDE; virtual void OpenFileManager() OVERRIDE; virtual void OpenCrosh() OVERRIDE; virtual void RestoreTab() OVERRIDE; diff --git a/chrome/browser/ui/ash/chrome_shell_delegate.cc b/chrome/browser/ui/ash/chrome_shell_delegate.cc index 3f915eb1..c94e533 100644 --- a/chrome/browser/ui/ash/chrome_shell_delegate.cc +++ b/chrome/browser/ui/ash/chrome_shell_delegate.cc @@ -200,21 +200,6 @@ void ChromeShellDelegate::ToggleFullscreen() { } } -void ChromeShellDelegate::ToggleMaximized() { - // Only toggle if the user has a window open. - aura::Window* window = ash::wm::GetActiveWindow(); - if (!window) - return; - - ash::wm::WindowState* window_state = ash::wm::GetWindowState(window); - // Get out of fullscreen when in fullscreen mode. - if (window_state->IsFullscreen()) { - ToggleFullscreen(); - return; - } - window_state->ToggleMaximized(); -} - void ChromeShellDelegate::RestoreTab() { if (tab_restore_helper_.get()) { DCHECK(!tab_restore_helper_->tab_restore_service()->IsLoaded()); diff --git a/chrome/browser/ui/ash/chrome_shell_delegate.h b/chrome/browser/ui/ash/chrome_shell_delegate.h index 0675acd..804d1c0 100644 --- a/chrome/browser/ui/ash/chrome_shell_delegate.h +++ b/chrome/browser/ui/ash/chrome_shell_delegate.h @@ -45,7 +45,6 @@ class ChromeShellDelegate : public ash::ShellDelegate, virtual void NewTab() OVERRIDE; virtual void NewWindow(bool is_incognito) OVERRIDE; virtual void ToggleFullscreen() OVERRIDE; - virtual void ToggleMaximized() OVERRIDE; virtual void OpenFileManager() OVERRIDE; virtual void OpenCrosh() OVERRIDE; virtual void RestoreTab() OVERRIDE; diff --git a/chrome/browser/ui/ash/chrome_shell_delegate_browsertest.cc b/chrome/browser/ui/ash/chrome_shell_delegate_browsertest.cc index 8920217..1caabc8 100644 --- a/chrome/browser/ui/ash/chrome_shell_delegate_browsertest.cc +++ b/chrome/browser/ui/ash/chrome_shell_delegate_browsertest.cc @@ -6,6 +6,7 @@ #include "apps/shell_window.h" #include "apps/ui/native_app_window.h" +#include "ash/accelerators/accelerator_commands.h" #include "ash/ash_switches.h" #include "ash/shell.h" #include "ash/shell_delegate.h" @@ -39,6 +40,9 @@ bool IsInImmersiveFullscreen(BrowserWindow* browser_window) { typedef InProcessBrowserTest ChromeShellDelegateBrowserTest; +// TODO(oshima): Move these tests to ash once ToggleFullscreen is moved +// to ash. crbug.com/309837. + // Confirm that toggling window miximized works properly IN_PROC_BROWSER_TEST_F(ChromeShellDelegateBrowserTest, ToggleMaximized) { ash::ShellDelegate* shell_delegate = ash::Shell::GetInstance()->delegate(); @@ -46,23 +50,23 @@ IN_PROC_BROWSER_TEST_F(ChromeShellDelegateBrowserTest, ToggleMaximized) { ash::wm::WindowState* window_state = ash::wm::GetActiveWindowState(); ASSERT_TRUE(window_state); - // When not in fullscreen, ShellDelegate::ToggleMaximized toggles Maximized. + // When not in fullscreen, accelerators::ToggleMaximized toggles Maximized. EXPECT_FALSE(window_state->IsMaximized()); - shell_delegate->ToggleMaximized(); + ash::accelerators::ToggleMaximized(); EXPECT_TRUE(window_state->IsMaximized()); - shell_delegate->ToggleMaximized(); + ash::accelerators::ToggleMaximized(); EXPECT_FALSE(window_state->IsMaximized()); - // When in fullscreen ShellDelegate::ToggleMaximized gets out of fullscreen. + // When in fullscreen accelerators::ToggleMaximized gets out of fullscreen. EXPECT_FALSE(window_state->IsFullscreen()); Browser* browser = chrome::FindBrowserWithWindow(window_state->window()); ASSERT_TRUE(browser); chrome::ToggleFullscreenMode(browser); EXPECT_TRUE(window_state->IsFullscreen()); - shell_delegate->ToggleMaximized(); + ash::accelerators::ToggleMaximized(); EXPECT_FALSE(window_state->IsFullscreen()); EXPECT_FALSE(window_state->IsMaximized()); - shell_delegate->ToggleMaximized(); + ash::accelerators::ToggleMaximized(); EXPECT_FALSE(window_state->IsFullscreen()); EXPECT_TRUE(window_state->IsMaximized()); } |