Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(836)

Unified Diff: athena/wm/window_manager_unittest.cc

Issue 488153003: Fix crash when dragging a half width window to split view from overivew mode (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: athena/wm/window_manager_unittest.cc
diff --git a/athena/wm/window_manager_unittest.cc b/athena/wm/window_manager_unittest.cc
index b4cddf3b81b9acd7cdcb7fc16ab48b85d2945238..17d6fd9734031020092e275fcd8c83cc768f928e 100644
--- a/athena/wm/window_manager_unittest.cc
+++ b/athena/wm/window_manager_unittest.cc
@@ -9,6 +9,7 @@
#include "athena/wm/public/window_list_provider.h"
#include "athena/wm/split_view_controller.h"
#include "athena/wm/window_manager_impl.h"
+#include "athena/wm/window_manager_impl_test_api.h"
#include "ui/aura/client/window_tree_client.h"
#include "ui/aura/test/test_window_delegate.h"
#include "ui/aura/window.h"
@@ -32,28 +33,6 @@ scoped_ptr<aura::Window> CreateWindow(aura::WindowDelegate* delegate) {
namespace athena {
-class WindowManagerImplTestApi {
- public:
- WindowManagerImplTestApi()
- : wm_(static_cast<WindowManagerImpl*>(WindowManager::GetInstance())) {}
- ~WindowManagerImplTestApi() {}
-
- WindowManager* wm() { return wm_; }
-
- WindowListProvider* window_list_provider() {
- return wm_->window_list_provider_.get();
- }
-
- SplitViewController* split_view_controller() {
- return wm_->split_view_controller_.get();
- }
-
- private:
- WindowManagerImpl* wm_;
-
- DISALLOW_COPY_AND_ASSIGN(WindowManagerImplTestApi);
-};
-
typedef test::AthenaTestBase WindowManagerTest;
TEST_F(WindowManagerTest, Empty) {
@@ -116,9 +95,9 @@ TEST_F(WindowManagerTest, BezelGestureToSplitViewMode) {
int x_middle = root_window()->bounds().width() / 2;
generator.GestureMultiFingerScroll(
2, start_points, kEventTimeSepration, 1, x_middle, 0);
- ASSERT_TRUE(wm_api.split_view_controller()->IsSplitViewModeActive());
- EXPECT_EQ(second.get(), wm_api.split_view_controller()->left_window());
- EXPECT_EQ(third.get(), wm_api.split_view_controller()->right_window());
+ ASSERT_TRUE(wm_api.GetSplitViewController()->IsSplitViewModeActive());
+ EXPECT_EQ(second.get(), wm_api.GetSplitViewController()->left_window());
+ EXPECT_EQ(third.get(), wm_api.GetSplitViewController()->right_window());
EXPECT_EQ(second->bounds().size().ToString(),
third->bounds().size().ToString());
}
@@ -137,7 +116,8 @@ TEST_F(WindowManagerTest, BezelGestureToSwitchBetweenWindows) {
aura::client::ParentWindowWithContext(
third.get(), ScreenManager::Get()->GetContext(), gfx::Rect());
- EXPECT_EQ(third.get(), wm_api.window_list_provider()->GetWindowList().back());
+ EXPECT_EQ(third.get(),
+ wm_api.GetWindowListProvider()->GetWindowList().back());
// Do a two-finger swipe from the left bezel.
ui::test::EventGenerator generator(root_window());
@@ -150,7 +130,7 @@ TEST_F(WindowManagerTest, BezelGestureToSwitchBetweenWindows) {
2, left_bezel_points, kEventTimeSepration, 1, width, 0);
EXPECT_TRUE(wm::IsActiveWindow(second.get()));
EXPECT_EQ(second.get(),
- wm_api.window_list_provider()->GetWindowList().back());
+ wm_api.GetWindowListProvider()->GetWindowList().back());
}
TEST_F(WindowManagerTest, TitleDragSwitchBetweenWindows) {
@@ -168,7 +148,8 @@ TEST_F(WindowManagerTest, TitleDragSwitchBetweenWindows) {
aura::client::ParentWindowWithContext(
third.get(), ScreenManager::Get()->GetContext(), gfx::Rect());
- EXPECT_EQ(third.get(), wm_api.window_list_provider()->GetWindowList().back());
+ EXPECT_EQ(third.get(),
+ wm_api.GetWindowListProvider()->GetWindowList().back());
// Do a title-swipe from the top to switch to the previous window.
ui::test::EventGenerator generator(root_window());
@@ -178,7 +159,7 @@ TEST_F(WindowManagerTest, TitleDragSwitchBetweenWindows) {
5);
EXPECT_TRUE(wm::IsActiveWindow(second.get()));
EXPECT_EQ(second.get(),
- wm_api.window_list_provider()->GetWindowList().back());
+ wm_api.GetWindowListProvider()->GetWindowList().back());
EXPECT_TRUE(second->IsVisible());
EXPECT_FALSE(third->IsVisible());
@@ -188,7 +169,8 @@ TEST_F(WindowManagerTest, TitleDragSwitchBetweenWindows) {
base::TimeDelta::FromMilliseconds(20),
5);
EXPECT_TRUE(wm::IsActiveWindow(third.get()));
- EXPECT_EQ(third.get(), wm_api.window_list_provider()->GetWindowList().back());
+ EXPECT_EQ(third.get(),
+ wm_api.GetWindowListProvider()->GetWindowList().back());
EXPECT_FALSE(second->IsVisible());
EXPECT_TRUE(third->IsVisible());
@@ -198,7 +180,8 @@ TEST_F(WindowManagerTest, TitleDragSwitchBetweenWindows) {
base::TimeDelta::FromMilliseconds(20),
5);
EXPECT_TRUE(wm::IsActiveWindow(third.get()));
- EXPECT_EQ(third.get(), wm_api.window_list_provider()->GetWindowList().back());
+ EXPECT_EQ(third.get(),
+ wm_api.GetWindowListProvider()->GetWindowList().back());
EXPECT_FALSE(second->IsVisible());
EXPECT_TRUE(third->IsVisible());
}
@@ -231,19 +214,19 @@ TEST_F(WindowManagerTest, TitleDragSwitchBetweenWindowsInSplitViewMode) {
int x_middle = root_window()->bounds().width() / 2;
generator.GestureMultiFingerScroll(
2, start_points, kEventTimeSepration, 1, x_middle, 0);
- ASSERT_TRUE(wm_api.split_view_controller()->IsSplitViewModeActive());
- EXPECT_EQ(third.get(), wm_api.split_view_controller()->left_window());
- EXPECT_EQ(fourth.get(), wm_api.split_view_controller()->right_window());
+ ASSERT_TRUE(wm_api.GetSplitViewController()->IsSplitViewModeActive());
+ EXPECT_EQ(third.get(), wm_api.GetSplitViewController()->left_window());
+ EXPECT_EQ(fourth.get(), wm_api.GetSplitViewController()->right_window());
// Swipe the title of the left window. It should switch to |second|.
generator.GestureScrollSequence(gfx::Point(20, 10),
gfx::Point(20, 400),
base::TimeDelta::FromMilliseconds(20),
5);
- EXPECT_EQ(second.get(), wm_api.split_view_controller()->left_window());
- EXPECT_EQ(fourth.get(), wm_api.split_view_controller()->right_window());
+ EXPECT_EQ(second.get(), wm_api.GetSplitViewController()->left_window());
+ EXPECT_EQ(fourth.get(), wm_api.GetSplitViewController()->right_window());
aura::Window::Windows windows =
- wm_api.window_list_provider()->GetWindowList();
+ wm_api.GetWindowListProvider()->GetWindowList();
ASSERT_EQ(4u, windows.size());
EXPECT_EQ(second.get(), windows[3]);
EXPECT_EQ(third.get(), windows[2]);
@@ -254,8 +237,8 @@ TEST_F(WindowManagerTest, TitleDragSwitchBetweenWindowsInSplitViewMode) {
gfx::Point(x_middle + 20, 400),
base::TimeDelta::FromMilliseconds(20),
5);
- EXPECT_EQ(second.get(), wm_api.split_view_controller()->left_window());
- EXPECT_EQ(third.get(), wm_api.split_view_controller()->right_window());
+ EXPECT_EQ(second.get(), wm_api.GetSplitViewController()->left_window());
+ EXPECT_EQ(third.get(), wm_api.GetSplitViewController()->right_window());
}
TEST_F(WindowManagerTest, NewWindowBounds) {
@@ -279,21 +262,22 @@ TEST_F(WindowManagerTest, NewWindowBounds) {
EXPECT_EQ(first->bounds().ToString(), second->bounds().ToString());
// Get into split view.
- wm_api.split_view_controller()->ActivateSplitMode(NULL, NULL);
+ wm_api.GetSplitViewController()->ActivateSplitMode(NULL, NULL);
const gfx::Rect left_bounds =
- wm_api.split_view_controller()->left_window()->bounds();
+ wm_api.GetSplitViewController()->left_window()->bounds();
EXPECT_NE(work_area.ToString(),
left_bounds.size().ToString());
scoped_ptr<aura::Window> third(CreateWindow(&delegate));
aura::client::ParentWindowWithContext(
third.get(), ScreenManager::Get()->GetContext(), gfx::Rect());
- EXPECT_NE(wm_api.split_view_controller()->left_window(), third.get());
+ EXPECT_NE(wm_api.GetSplitViewController()->left_window(), third.get());
EXPECT_EQ(left_bounds.ToString(), third->bounds().ToString());
third->Hide();
- EXPECT_EQ(left_bounds.ToString(),
- wm_api.split_view_controller()->left_window()->bounds().ToString());
+ EXPECT_EQ(
+ left_bounds.ToString(),
+ wm_api.GetSplitViewController()->left_window()->bounds().ToString());
}
TEST_F(WindowManagerTest, SplitModeActivationByShortcut) {
@@ -308,14 +292,14 @@ TEST_F(WindowManagerTest, SplitModeActivationByShortcut) {
// Splitview mode needs at least two windows.
generator.PressKey(ui::VKEY_F6, ui::EF_CONTROL_DOWN);
generator.ReleaseKey(ui::VKEY_F6, ui::EF_CONTROL_DOWN);
- EXPECT_FALSE(wm_api.split_view_controller()->IsSplitViewModeActive());
+ EXPECT_FALSE(wm_api.GetSplitViewController()->IsSplitViewModeActive());
scoped_ptr<aura::Window> w2(CreateTestWindow(&delegate, gfx::Rect()));
w2->Show();
generator.PressKey(ui::VKEY_F6, ui::EF_CONTROL_DOWN);
generator.ReleaseKey(ui::VKEY_F6, ui::EF_CONTROL_DOWN);
- EXPECT_TRUE(wm_api.split_view_controller()->IsSplitViewModeActive());
+ EXPECT_TRUE(wm_api.GetSplitViewController()->IsSplitViewModeActive());
int width =
gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().work_area().width();
@@ -325,7 +309,7 @@ TEST_F(WindowManagerTest, SplitModeActivationByShortcut) {
// Toggle back to normal mode.
generator.PressKey(ui::VKEY_F6, ui::EF_CONTROL_DOWN);
generator.ReleaseKey(ui::VKEY_F6, ui::EF_CONTROL_DOWN);
- EXPECT_FALSE(wm_api.split_view_controller()->IsSplitViewModeActive());
+ EXPECT_FALSE(wm_api.GetSplitViewController()->IsSplitViewModeActive());
EXPECT_EQ(width, w1->bounds().width());
EXPECT_EQ(width, w2->bounds().width());
« athena/wm/window_manager_impl_test_api.h ('K') | « athena/wm/window_manager_impl_test_api.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698