| Index: chrome/browser/ui/views/app_list/win/app_list_win_unittest.cc
|
| diff --git a/chrome/browser/ui/views/app_list/win/app_list_win_unittest.cc b/chrome/browser/ui/views/app_list/win/app_list_win_unittest.cc
|
| index 607426ed01d702a723867fee8577f59ebdb9482d..5ac1ff9e05f8d1bf3e324edacf8663b9f1bb9e48 100644
|
| --- a/chrome/browser/ui/views/app_list/win/app_list_win_unittest.cc
|
| +++ b/chrome/browser/ui/views/app_list/win/app_list_win_unittest.cc
|
| @@ -54,6 +54,7 @@ class AppListWinUnitTest : public testing::Test {
|
| display_.set_work_area(gfx::Rect(0, 0, kScreenWidth, kScreenHeight));
|
| cursor_ = gfx::Point();
|
| taskbar_rect_ = gfx::Rect();
|
| + center_window_ = false;
|
| }
|
|
|
| // Set the display work area.
|
| @@ -99,17 +100,23 @@ class AppListWinUnitTest : public testing::Test {
|
| cursor_ = gfx::Point(x, y);
|
| }
|
|
|
| + void EnableWindowCentering() {
|
| + center_window_ = true;
|
| + }
|
| +
|
| gfx::Point DoFindAnchorPoint() const {
|
| return AppListWin::FindAnchorPoint(gfx::Size(kWindowWidth, kWindowHeight),
|
| display_,
|
| cursor_,
|
| - taskbar_rect_);
|
| + taskbar_rect_,
|
| + center_window_);
|
| }
|
|
|
| private:
|
| gfx::Display display_;
|
| gfx::Point cursor_;
|
| gfx::Rect taskbar_rect_;
|
| + bool center_window_;
|
| };
|
|
|
| TEST_F(AppListWinUnitTest, FindAnchorPointNoTaskbar) {
|
| @@ -242,3 +249,13 @@ TEST_F(AppListWinUnitTest, FindAnchorPointWin8SplitScreen) {
|
| kMinDistanceFromEdge),
|
| DoFindAnchorPoint());
|
| }
|
| +
|
| +TEST_F(AppListWinUnitTest, FindAnchorPointCentered) {
|
| + // Cursor on the top taskbar; enable centered app list mode.
|
| + PlaceTaskbar(AppListPositioner::SCREEN_EDGE_TOP);
|
| + PlaceCursor(0, 0);
|
| + EnableWindowCentering();
|
| + // Expect the app list to be in the center of the screen (ignore the cursor).
|
| + EXPECT_EQ(gfx::Point(kScreenWidth / 2, kScreenHeight / 2),
|
| + DoFindAnchorPoint());
|
| +}
|
|
|