summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ash/accelerators/accelerator_commands.cc11
-rw-r--r--ash/accelerators/accelerator_commands.h4
-rw-r--r--ash/accelerators/accelerator_controller.cc2
-rw-r--r--ash/shell/shell_delegate_impl.cc5
-rw-r--r--ash/shell/shell_delegate_impl.h1
-rw-r--r--ash/shell_delegate.h3
-rw-r--r--ash/test/test_shell_delegate.cc6
-rw-r--r--ash/test/test_shell_delegate.h1
-rw-r--r--chrome/browser/ui/ash/chrome_shell_delegate.cc15
-rw-r--r--chrome/browser/ui/ash/chrome_shell_delegate.h1
-rw-r--r--chrome/browser/ui/ash/chrome_shell_delegate_browsertest.cc16
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());
}