| Index: ash/wm/caption_buttons/frame_maximize_button_unittest.cc
|
| diff --git a/ash/wm/caption_buttons/frame_maximize_button_unittest.cc b/ash/wm/caption_buttons/frame_maximize_button_unittest.cc
|
| index d0b43b26edaa44e5a761762e64f6c6787f5ce480..e1af2656d3b04b329ab91e395de658f1d2556b93 100644
|
| --- a/ash/wm/caption_buttons/frame_maximize_button_unittest.cc
|
| +++ b/ash/wm/caption_buttons/frame_maximize_button_unittest.cc
|
| @@ -9,7 +9,7 @@
|
| #include "ash/test/ash_test_base.h"
|
| #include "ash/wm/caption_buttons/frame_caption_button_container_view.h"
|
| #include "ash/wm/caption_buttons/maximize_bubble_controller.h"
|
| -#include "ash/wm/property_util.h"
|
| +#include "ash/wm/window_state.h"
|
| #include "ash/wm/window_util.h"
|
| #include "ash/wm/workspace/snap_sizer.h"
|
| #include "base/command_line.h"
|
| @@ -166,35 +166,37 @@ class FrameMaximizeButtonTest : public ash::test::AshTestBase {
|
| // Tests that clicking on the resize-button toggles between maximize and normal
|
| // state.
|
| TEST_F(FrameMaximizeButtonTest, ResizeButtonToggleMaximize) {
|
| - aura::Window* window = widget()->GetNativeWindow();
|
| + wm::WindowState* window_state =
|
| + wm::GetWindowState(widget()->GetNativeWindow());
|
| views::View* view = maximize_button();
|
| gfx::Point center = view->GetBoundsInScreen().CenterPoint();
|
|
|
| - aura::test::EventGenerator generator(window->GetRootWindow(), center);
|
| + aura::test::EventGenerator generator(
|
| + window_state->window()->GetRootWindow(), center);
|
|
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
|
|
| generator.ClickLeftButton();
|
| RunAllPendingInMessageLoop();
|
| - EXPECT_TRUE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_TRUE(window_state->IsMaximized());
|
|
|
| center = view->GetBoundsInScreen().CenterPoint();
|
| generator.MoveMouseTo(center);
|
| generator.ClickLeftButton();
|
| RunAllPendingInMessageLoop();
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
|
|
| generator.GestureTapAt(view->GetBoundsInScreen().CenterPoint());
|
| - EXPECT_TRUE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_TRUE(window_state->IsMaximized());
|
|
|
| generator.GestureTapAt(view->GetBoundsInScreen().CenterPoint());
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
|
|
| generator.GestureTapDownAndUp(view->GetBoundsInScreen().CenterPoint());
|
| - EXPECT_TRUE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_TRUE(window_state->IsMaximized());
|
|
|
| generator.GestureTapDownAndUp(view->GetBoundsInScreen().CenterPoint());
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
| }
|
|
|
| #if defined(OS_WIN)
|
| @@ -212,7 +214,8 @@ TEST_F(FrameMaximizeButtonTest, MAYBE_ResizeButtonDrag) {
|
|
|
| aura::test::EventGenerator generator(window->GetRootWindow(), center);
|
|
|
| - EXPECT_TRUE(ash::wm::IsWindowNormal(window));
|
| + wm::WindowState* window_state = wm::GetWindowState(window);
|
| + EXPECT_TRUE(window_state->IsNormalShowState());
|
|
|
| // Snap right.
|
| {
|
| @@ -221,8 +224,8 @@ TEST_F(FrameMaximizeButtonTest, MAYBE_ResizeButtonDrag) {
|
| generator.ReleaseLeftButton();
|
| RunAllPendingInMessageLoop();
|
|
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| - EXPECT_FALSE(ash::wm::IsWindowMinimized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
| + EXPECT_FALSE(window_state->IsMinimized());
|
| internal::SnapSizer sizer(window, center,
|
| internal::SnapSizer::RIGHT_EDGE,
|
| internal::SnapSizer::OTHER_INPUT);
|
| @@ -238,8 +241,8 @@ TEST_F(FrameMaximizeButtonTest, MAYBE_ResizeButtonDrag) {
|
| generator.ReleaseLeftButton();
|
| RunAllPendingInMessageLoop();
|
|
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| - EXPECT_FALSE(ash::wm::IsWindowMinimized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
| + EXPECT_FALSE(window_state->IsMinimized());
|
| internal::SnapSizer sizer(window, center,
|
| internal::SnapSizer::LEFT_EDGE,
|
| internal::SnapSizer::OTHER_INPUT);
|
| @@ -255,10 +258,10 @@ TEST_F(FrameMaximizeButtonTest, MAYBE_ResizeButtonDrag) {
|
| generator.ReleaseLeftButton();
|
| RunAllPendingInMessageLoop();
|
|
|
| - EXPECT_TRUE(ash::wm::IsWindowMinimized(window));
|
| + EXPECT_TRUE(window_state->IsMinimized());
|
| }
|
|
|
| - ash::wm::RestoreWindow(window);
|
| + window_state->Restore();
|
|
|
| // Now test the same behaviour for gesture events.
|
|
|
| @@ -272,8 +275,8 @@ TEST_F(FrameMaximizeButtonTest, MAYBE_ResizeButtonDrag) {
|
| 3);
|
| RunAllPendingInMessageLoop();
|
|
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| - EXPECT_FALSE(ash::wm::IsWindowMinimized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
| + EXPECT_FALSE(window_state->IsMinimized());
|
| // This is a short resizing distance and different touch behavior
|
| // applies which leads in half of the screen being used.
|
| EXPECT_EQ("400,0 400x553", window->bounds().ToString());
|
| @@ -289,8 +292,8 @@ TEST_F(FrameMaximizeButtonTest, MAYBE_ResizeButtonDrag) {
|
| 3);
|
| RunAllPendingInMessageLoop();
|
|
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| - EXPECT_FALSE(ash::wm::IsWindowMinimized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
| + EXPECT_FALSE(window_state->IsMinimized());
|
| internal::SnapSizer sizer(window, center,
|
| internal::SnapSizer::LEFT_EDGE,
|
| internal::SnapSizer::OTHER_INPUT);
|
| @@ -307,7 +310,7 @@ TEST_F(FrameMaximizeButtonTest, MAYBE_ResizeButtonDrag) {
|
| 3);
|
| RunAllPendingInMessageLoop();
|
|
|
| - EXPECT_TRUE(ash::wm::IsWindowMinimized(window));
|
| + EXPECT_TRUE(window_state->IsMinimized());
|
| }
|
|
|
| // Test with gesture events.
|
| @@ -339,8 +342,9 @@ TEST_F(FrameMaximizeButtonTest,
|
| gfx::Point end_point = gfx::Point(work_area.width(), start_point.y());
|
|
|
| aura::test::EventGenerator generator(window->GetRootWindow(), start_point);
|
| + wm::WindowState* window_state = wm::GetWindowState(window);
|
|
|
| - EXPECT_TRUE(ash::wm::IsWindowNormal(window));
|
| + EXPECT_TRUE(window_state->IsNormalShowState());
|
|
|
| // Snap right with a touch drag.
|
| generator.GestureScrollSequence(start_point,
|
| @@ -349,8 +353,8 @@ TEST_F(FrameMaximizeButtonTest,
|
| 10);
|
| RunAllPendingInMessageLoop();
|
|
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| - EXPECT_FALSE(ash::wm::IsWindowMinimized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
| + EXPECT_FALSE(window_state->IsMinimized());
|
| gfx::Rect touch_result = window->bounds();
|
| EXPECT_NE(bounds.ToString(), touch_result.ToString());
|
|
|
| @@ -363,8 +367,8 @@ TEST_F(FrameMaximizeButtonTest,
|
| generator.ReleaseLeftButton();
|
| RunAllPendingInMessageLoop();
|
|
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| - EXPECT_FALSE(ash::wm::IsWindowMinimized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
| + EXPECT_FALSE(window_state->IsMinimized());
|
| gfx::Rect mouse_result = window->bounds();
|
|
|
| // The difference between the two operations should be that the mouse
|
| @@ -387,7 +391,7 @@ TEST_F(FrameMaximizeButtonTest, MaximizeButtonExternalShutDown) {
|
|
|
| aura::test::EventGenerator generator(window->GetRootWindow(), off_pos);
|
| EXPECT_FALSE(maximize_button->maximizer());
|
| - EXPECT_TRUE(ash::wm::IsWindowNormal(window));
|
| + EXPECT_TRUE(wm::GetWindowState(window)->IsNormalShowState());
|
|
|
| // Move the mouse cursor over the button to bring up the maximizer bubble.
|
| generator.MoveMouseTo(button_pos);
|
| @@ -410,13 +414,13 @@ TEST_F(FrameMaximizeButtonTest, MaximizeOnHoverThenClick) {
|
|
|
| aura::test::EventGenerator generator(window->GetRootWindow(), off_pos);
|
| EXPECT_FALSE(maximize_button->maximizer());
|
| - EXPECT_TRUE(ash::wm::IsWindowNormal(window));
|
| + EXPECT_TRUE(wm::GetWindowState(window)->IsNormalShowState());
|
|
|
| // Move the mouse cursor over the button to bring up the maximizer bubble.
|
| generator.MoveMouseTo(button_pos);
|
| EXPECT_TRUE(maximize_button->maximizer());
|
| generator.ClickLeftButton();
|
| - EXPECT_TRUE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_TRUE(wm::GetWindowState(window)->IsMaximized());
|
| }
|
|
|
| // Test that hovering over a button in the balloon dialog will show the phantom
|
| @@ -433,7 +437,7 @@ TEST_F(FrameMaximizeButtonTest, MaximizeLeftButtonDragOut) {
|
|
|
| aura::test::EventGenerator generator(window->GetRootWindow(), off_pos);
|
| EXPECT_FALSE(maximize_button->maximizer());
|
| - EXPECT_TRUE(ash::wm::IsWindowNormal(window));
|
| + EXPECT_TRUE(wm::GetWindowState(window)->IsNormalShowState());
|
| EXPECT_FALSE(maximize_button->phantom_window_open());
|
|
|
| // Move the mouse cursor over the button to bring up the maximizer bubble.
|
| @@ -478,7 +482,7 @@ TEST_F(FrameMaximizeButtonTest, MaximizeLeftByButton) {
|
|
|
| aura::test::EventGenerator generator(window->GetRootWindow(), off_pos);
|
| EXPECT_FALSE(maximize_button->maximizer());
|
| - EXPECT_TRUE(ash::wm::IsWindowNormal(window));
|
| + EXPECT_TRUE(wm::GetWindowState(window)->IsNormalShowState());
|
| EXPECT_FALSE(maximize_button->phantom_window_open());
|
|
|
| // Move the mouse cursor over the button to bring up the maximizer bubble.
|
| @@ -495,8 +499,9 @@ TEST_F(FrameMaximizeButtonTest, MaximizeLeftByButton) {
|
| EXPECT_FALSE(maximize_button->maximizer());
|
| EXPECT_FALSE(maximize_button->phantom_window_open());
|
|
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| - EXPECT_FALSE(ash::wm::IsWindowMinimized(window));
|
| + wm::WindowState* window_state = wm::GetWindowState(window);
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
| + EXPECT_FALSE(window_state->IsMinimized());
|
| internal::SnapSizer sizer(window, button_pos,
|
| internal::SnapSizer::LEFT_EDGE,
|
| internal::SnapSizer::OTHER_INPUT);
|
| @@ -515,7 +520,7 @@ TEST_F(FrameMaximizeButtonTest, MaximizeKeepFocus) {
|
|
|
| aura::test::EventGenerator generator(window->GetRootWindow(), off_pos);
|
| EXPECT_FALSE(maximize_button->maximizer());
|
| - EXPECT_TRUE(ash::wm::IsWindowNormal(window));
|
| + EXPECT_TRUE(wm::GetWindowState(window)->IsNormalShowState());
|
|
|
| aura::Window* active =
|
| aura::client::GetFocusClient(window)->GetFocusedWindow();
|
| @@ -568,8 +573,9 @@ TEST_F(FrameMaximizeButtonTest, OnlyLeftButtonMaximizes) {
|
|
|
| aura::test::EventGenerator generator(window->GetRootWindow(), off_pos);
|
| EXPECT_FALSE(maximize_button->maximizer());
|
| - EXPECT_TRUE(ash::wm::IsWindowNormal(window));
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| + wm::WindowState* window_state = wm::GetWindowState(window);
|
| + EXPECT_TRUE(window_state->IsNormalShowState());
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
|
|
| // Move the mouse cursor over the button.
|
| generator.MoveMouseTo(button_pos);
|
| @@ -580,7 +586,7 @@ TEST_F(FrameMaximizeButtonTest, OnlyLeftButtonMaximizes) {
|
| generator.PressLeftButton();
|
| RunAllPendingInMessageLoop();
|
| EXPECT_TRUE(maximize_button->is_snap_enabled());
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
|
|
| // Pressing the right button then should cancel the operation.
|
| generator.PressRightButton();
|
| @@ -591,7 +597,7 @@ TEST_F(FrameMaximizeButtonTest, OnlyLeftButtonMaximizes) {
|
| generator.ReleaseRightButton();
|
| generator.ReleaseLeftButton();
|
| RunAllPendingInMessageLoop();
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
|
|
| // Second experiment: Starting with right should also not trigger.
|
| generator.MoveMouseTo(off_pos);
|
| @@ -609,7 +615,7 @@ TEST_F(FrameMaximizeButtonTest, OnlyLeftButtonMaximizes) {
|
| EXPECT_FALSE(maximize_button->is_snap_enabled());
|
| generator.ReleaseRightButton();
|
| generator.ReleaseLeftButton();
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
| }
|
|
|
| // Click a button of window maximize functionality.
|
| @@ -654,8 +660,9 @@ TEST_F(FrameMaximizeButtonTest, MaximizeLeftRestore) {
|
| maximize_button->set_bubble_appearance_delay_ms(0);
|
|
|
| ClickMaxButton(maximize_button, window, SNAP_LEFT);
|
| + wm::WindowState* window_state = wm::GetWindowState(window);
|
| // The window should not be maximized.
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
| // But the bounds should be different.
|
| gfx::Rect new_bounds = widget()->GetWindowBoundsInScreen();
|
| EXPECT_EQ(0, new_bounds.x());
|
| @@ -670,7 +677,7 @@ TEST_F(FrameMaximizeButtonTest, MaximizeLeftRestore) {
|
| EXPECT_EQ(new_bounds.width(), initial_bounds.width());
|
| EXPECT_EQ(new_bounds.height(), initial_bounds.height());
|
| // Make sure that there is no restore rectangle left.
|
| - EXPECT_EQ(NULL, GetRestoreBoundsInScreen(window));
|
| + EXPECT_FALSE(window_state->HasRestoreBounds());
|
| }
|
|
|
| // Maximize, left/right maximize and then restore should works.
|
| @@ -682,10 +689,12 @@ TEST_F(FrameMaximizeButtonTest, MaximizeMaximizeLeftRestore) {
|
| maximize_button->set_bubble_appearance_delay_ms(0);
|
|
|
| ClickMaxButton(maximize_button, window, SNAP_NONE);
|
| - EXPECT_TRUE(ash::wm::IsWindowMaximized(window));
|
| +
|
| + wm::WindowState* window_state = wm::GetWindowState(window);
|
| + EXPECT_TRUE(window_state->IsMaximized());
|
|
|
| ClickMaxButton(maximize_button, window, SNAP_LEFT);
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
| gfx::Rect new_bounds = widget()->GetWindowBoundsInScreen();
|
| EXPECT_EQ(0, new_bounds.x());
|
| EXPECT_EQ(0, new_bounds.y());
|
| @@ -700,7 +709,7 @@ TEST_F(FrameMaximizeButtonTest, MaximizeMaximizeLeftRestore) {
|
| EXPECT_EQ(new_bounds.width(), initial_bounds.width());
|
| EXPECT_EQ(new_bounds.height(), initial_bounds.height());
|
| // Make sure that there is no restore rectangle left.
|
| - EXPECT_EQ(NULL, GetRestoreBoundsInScreen(window));
|
| + EXPECT_FALSE(window_state->HasRestoreBounds());
|
| }
|
|
|
| // Left/right maximize, maximize and then restore should work.
|
| @@ -712,21 +721,24 @@ TEST_F(FrameMaximizeButtonTest, MaximizeLeftMaximizeRestore) {
|
| maximize_button->set_bubble_appearance_delay_ms(0);
|
|
|
| ClickMaxButton(maximize_button, window, SNAP_LEFT);
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| +
|
| + wm::WindowState* window_state = wm::GetWindowState(window);
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
|
|
| ClickMaxButton(maximize_button, window, SNAP_NONE);
|
| - EXPECT_TRUE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_TRUE(window_state->IsMaximized());
|
|
|
| ClickMaxButton(maximize_button, window, SNAP_NONE);
|
| - EXPECT_FALSE(ash::wm::IsWindowMaximized(window));
|
| + EXPECT_FALSE(window_state->IsMaximized());
|
| gfx::Rect new_bounds = widget()->GetWindowBoundsInScreen();
|
| EXPECT_EQ(new_bounds.x(), initial_bounds.x());
|
| EXPECT_EQ(new_bounds.y(), initial_bounds.x());
|
| EXPECT_EQ(new_bounds.width(), initial_bounds.width());
|
| EXPECT_EQ(new_bounds.height(), initial_bounds.height());
|
| // Make sure that there is no restore rectangle left.
|
| - EXPECT_EQ(NULL, GetRestoreBoundsInScreen(window));
|
| + EXPECT_FALSE(window_state->HasRestoreBounds());
|
| }
|
| +
|
| // Test that minimizing the window per keyboard closes the maximize bubble.
|
| TEST_F(FrameMaximizeButtonTest, MinimizePerKeyClosesBubble) {
|
| aura::Window* window = widget()->GetNativeWindow();
|
| @@ -745,9 +757,10 @@ TEST_F(FrameMaximizeButtonTest, MinimizePerKeyClosesBubble) {
|
| EXPECT_TRUE(maximize_button->maximizer());
|
|
|
| // We simulate the keystroke by calling minimizeWindow directly.
|
| - wm::MinimizeWindow(window);
|
| + wm::WindowState* window_state = wm::GetWindowState(window);
|
| + window_state->Minimize();
|
|
|
| - EXPECT_TRUE(ash::wm::IsWindowMinimized(window));
|
| + EXPECT_TRUE(window_state->IsMinimized());
|
| EXPECT_FALSE(maximize_button->maximizer());
|
| }
|
|
|
| @@ -757,9 +770,10 @@ TEST_F(FrameMaximizeButtonTest, MaximizeButtonDragDownMinimizes) {
|
| ash::FrameMaximizeButton* maximize_button =
|
| FrameMaximizeButtonTest::maximize_button();
|
|
|
| + wm::WindowState* window_state = wm::GetWindowState(window);
|
| // Drag down on a maximized window.
|
| - wm::MaximizeWindow(window);
|
| - EXPECT_TRUE(wm::IsWindowMaximized(window));
|
| + window_state->Maximize();
|
| + EXPECT_TRUE(window_state->IsMaximized());
|
| gfx::Point button_pos = maximize_button->GetBoundsInScreen().CenterPoint();
|
| gfx::Point off_pos(button_pos.x(), button_pos.y() + 100);
|
|
|
| @@ -767,17 +781,17 @@ TEST_F(FrameMaximizeButtonTest, MaximizeButtonDragDownMinimizes) {
|
| generator.GestureScrollSequence(button_pos, off_pos,
|
| base::TimeDelta::FromMilliseconds(0), 1);
|
|
|
| - EXPECT_TRUE(wm::IsWindowMinimized(window));
|
| + EXPECT_TRUE(window_state->IsMinimized());
|
| EXPECT_FALSE(maximize_button->maximizer());
|
|
|
| // Drag down on a restored window.
|
| - wm::RestoreWindow(window);
|
| + window_state->Restore();
|
|
|
| button_pos = maximize_button->GetBoundsInScreen().CenterPoint();
|
| off_pos = gfx::Point(button_pos.x(), button_pos.y() + 200);
|
| generator.GestureScrollSequence(button_pos, off_pos,
|
| base::TimeDelta::FromMilliseconds(10), 1);
|
| - EXPECT_TRUE(wm::IsWindowMinimized(window));
|
| + EXPECT_TRUE(window_state->IsMinimized());
|
| EXPECT_FALSE(maximize_button->maximizer());
|
| }
|
|
|
|
|