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

Side by Side Diff: ash/shelf/shelf_layout_manager_unittest.cc

Issue 2807693002: Make LogoutButtonTray a regular View (Closed)
Patch Set: Rebased Created 3 years, 8 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 unified diff | Download patch
« no previous file with comments | « ash/BUILD.gn ('k') | ash/shelf/shelf_widget.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ash/shelf/shelf_layout_manager.h" 5 #include "ash/shelf/shelf_layout_manager.h"
6 6
7 #include "ash/accelerators/accelerator_controller.h" 7 #include "ash/accelerators/accelerator_controller.h"
8 #include "ash/accelerators/accelerator_table.h" 8 #include "ash/accelerators/accelerator_table.h"
9 #include "ash/focus_cycler.h" 9 #include "ash/focus_cycler.h"
10 #include "ash/public/cpp/config.h" 10 #include "ash/public/cpp/config.h"
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 155
156 if (type == ui::ET_GESTURE_SCROLL_UPDATE) 156 if (type == ui::ET_GESTURE_SCROLL_UPDATE)
157 scroll_.Add(delta); 157 scroll_.Add(delta);
158 158
159 WmShelf* shelf = test::AshTestBase::GetPrimaryShelf(); 159 WmShelf* shelf = test::AshTestBase::GetPrimaryShelf();
160 gfx::Rect shelf_bounds = GetShelfWidget()->GetWindowBoundsInScreen(); 160 gfx::Rect shelf_bounds = GetShelfWidget()->GetWindowBoundsInScreen();
161 if (shelf->IsHorizontalAlignment()) { 161 if (shelf->IsHorizontalAlignment()) {
162 EXPECT_EQ(auto_hidden_shelf_widget_bounds_.bottom(), 162 EXPECT_EQ(auto_hidden_shelf_widget_bounds_.bottom(),
163 shelf_bounds.bottom()); 163 shelf_bounds.bottom());
164 EXPECT_EQ(shelf_widget_bounds_.bottom(), shelf_bounds.bottom()); 164 EXPECT_EQ(shelf_widget_bounds_.bottom(), shelf_bounds.bottom());
165 } else if (SHELF_ALIGNMENT_RIGHT == shelf->GetAlignment()) { 165 } else if (SHELF_ALIGNMENT_RIGHT == shelf->alignment()) {
166 EXPECT_EQ(auto_hidden_shelf_widget_bounds_.right(), shelf_bounds.right()); 166 EXPECT_EQ(auto_hidden_shelf_widget_bounds_.right(), shelf_bounds.right());
167 EXPECT_EQ(shelf_widget_bounds_.right(), shelf_bounds.right()); 167 EXPECT_EQ(shelf_widget_bounds_.right(), shelf_bounds.right());
168 } else if (SHELF_ALIGNMENT_LEFT == shelf->GetAlignment()) { 168 } else if (SHELF_ALIGNMENT_LEFT == shelf->alignment()) {
169 EXPECT_EQ(auto_hidden_shelf_widget_bounds_.x(), shelf_bounds.x()); 169 EXPECT_EQ(auto_hidden_shelf_widget_bounds_.x(), shelf_bounds.x());
170 EXPECT_EQ(shelf_widget_bounds_.x(), shelf_bounds.x()); 170 EXPECT_EQ(shelf_widget_bounds_.x(), shelf_bounds.x());
171 } 171 }
172 172
173 float scroll_delta = 173 float scroll_delta =
174 GetShelfLayoutManager()->PrimaryAxisValue(scroll_.y(), scroll_.x()); 174 GetShelfLayoutManager()->PrimaryAxisValue(scroll_.y(), scroll_.x());
175 bool increasing_drag = 175 bool increasing_drag =
176 GetShelfLayoutManager()->SelectValueForShelfAlignment( 176 GetShelfLayoutManager()->SelectValueForShelfAlignment(
177 scroll_delta<0, scroll_delta> 0, scroll_delta < 0); 177 scroll_delta<0, scroll_delta> 0, scroll_delta < 0);
178 int shelf_size = GetShelfLayoutManager()->PrimaryAxisValue( 178 int shelf_size = GetShelfLayoutManager()->PrimaryAxisValue(
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 // Swipe up yet again to show it. 386 // Swipe up yet again to show it.
387 end = start + delta; 387 end = start + delta;
388 generator.GestureScrollSequenceWithCallback( 388 generator.GestureScrollSequenceWithCallback(
389 end, start, kTimeDelta, kNumScrollSteps, 389 end, start, kTimeDelta, kNumScrollSteps,
390 base::Bind(&ShelfDragCallback::ProcessScroll, 390 base::Bind(&ShelfDragCallback::ProcessScroll,
391 base::Unretained(&handler))); 391 base::Unretained(&handler)));
392 392
393 // Swipe down very little. It shouldn't change any state. 393 // Swipe down very little. It shouldn't change any state.
394 if (shelf->IsHorizontalAlignment()) 394 if (shelf->IsHorizontalAlignment())
395 end.set_y(start.y() + shelf_shown.height() * 3 / 10); 395 end.set_y(start.y() + shelf_shown.height() * 3 / 10);
396 else if (SHELF_ALIGNMENT_LEFT == shelf->GetAlignment()) 396 else if (SHELF_ALIGNMENT_LEFT == shelf->alignment())
397 end.set_x(start.x() - shelf_shown.width() * 3 / 10); 397 end.set_x(start.x() - shelf_shown.width() * 3 / 10);
398 else if (SHELF_ALIGNMENT_RIGHT == shelf->GetAlignment()) 398 else if (SHELF_ALIGNMENT_RIGHT == shelf->alignment())
399 end.set_x(start.x() + shelf_shown.width() * 3 / 10); 399 end.set_x(start.x() + shelf_shown.width() * 3 / 10);
400 generator.GestureScrollSequence(start, end, kTimeDelta, 5); 400 generator.GestureScrollSequence(start, end, kTimeDelta, 5);
401 EXPECT_EQ(SHELF_VISIBLE, shelf->GetVisibilityState()); 401 EXPECT_EQ(SHELF_VISIBLE, shelf->GetVisibilityState());
402 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior()); 402 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior());
403 EXPECT_EQ(bounds_shelf.ToString(), window->bounds().ToString()); 403 EXPECT_EQ(bounds_shelf.ToString(), window->bounds().ToString());
404 EXPECT_EQ(shelf_shown.ToString(), 404 EXPECT_EQ(shelf_shown.ToString(),
405 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 405 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
406 406
407 // Swipe down again to hide. 407 // Swipe down again to hide.
408 end = start + delta; 408 end = start + delta;
409 generator.GestureScrollSequenceWithCallback( 409 generator.GestureScrollSequenceWithCallback(
410 start, end, kTimeDelta, kNumScrollSteps, 410 start, end, kTimeDelta, kNumScrollSteps,
411 base::Bind(&ShelfDragCallback::ProcessScroll, 411 base::Bind(&ShelfDragCallback::ProcessScroll,
412 base::Unretained(&handler))); 412 base::Unretained(&handler)));
413 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->GetVisibilityState()); 413 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->GetVisibilityState());
414 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->GetAutoHideState()); 414 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->GetAutoHideState());
415 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior()); 415 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior());
416 EXPECT_EQ(bounds_noshelf.ToString(), window->bounds().ToString()); 416 EXPECT_EQ(bounds_noshelf.ToString(), window->bounds().ToString());
417 EXPECT_EQ(shelf_hidden.ToString(), 417 EXPECT_EQ(shelf_hidden.ToString(),
418 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 418 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
419 419
420 // Swipe up in extended hit region to show it. 420 // Swipe up in extended hit region to show it.
421 gfx::Point extended_start = start; 421 gfx::Point extended_start = start;
422 if (shelf->IsHorizontalAlignment()) 422 if (shelf->IsHorizontalAlignment())
423 extended_start.set_y(GetShelfWidget()->GetWindowBoundsInScreen().y() - 1); 423 extended_start.set_y(GetShelfWidget()->GetWindowBoundsInScreen().y() - 1);
424 else if (SHELF_ALIGNMENT_LEFT == shelf->GetAlignment()) 424 else if (SHELF_ALIGNMENT_LEFT == shelf->alignment())
425 extended_start.set_x(GetShelfWidget()->GetWindowBoundsInScreen().right() + 425 extended_start.set_x(GetShelfWidget()->GetWindowBoundsInScreen().right() +
426 1); 426 1);
427 else if (SHELF_ALIGNMENT_RIGHT == shelf->GetAlignment()) 427 else if (SHELF_ALIGNMENT_RIGHT == shelf->alignment())
428 extended_start.set_x(GetShelfWidget()->GetWindowBoundsInScreen().x() - 1); 428 extended_start.set_x(GetShelfWidget()->GetWindowBoundsInScreen().x() - 1);
429 end = extended_start - delta; 429 end = extended_start - delta;
430 generator.GestureScrollSequenceWithCallback( 430 generator.GestureScrollSequenceWithCallback(
431 extended_start, end, kTimeDelta, kNumScrollSteps, 431 extended_start, end, kTimeDelta, kNumScrollSteps,
432 base::Bind(&ShelfDragCallback::ProcessScroll, 432 base::Bind(&ShelfDragCallback::ProcessScroll,
433 base::Unretained(&handler))); 433 base::Unretained(&handler)));
434 EXPECT_EQ(SHELF_VISIBLE, shelf->GetVisibilityState()); 434 EXPECT_EQ(SHELF_VISIBLE, shelf->GetVisibilityState());
435 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior()); 435 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior());
436 EXPECT_EQ(bounds_shelf.ToString(), window->bounds().ToString()); 436 EXPECT_EQ(bounds_shelf.ToString(), window->bounds().ToString());
437 EXPECT_EQ(shelf_shown.ToString(), 437 EXPECT_EQ(shelf_shown.ToString(),
(...skipping 25 matching lines...) Expand all
463 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->GetAutoHideState()); 463 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->GetAutoHideState());
464 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior()); 464 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior());
465 EXPECT_EQ(shelf_hidden.ToString(), 465 EXPECT_EQ(shelf_hidden.ToString(),
466 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 466 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
467 467
468 // Swipe up from below the shelf where a bezel would be, this should show the 468 // Swipe up from below the shelf where a bezel would be, this should show the
469 // shelf. 469 // shelf.
470 gfx::Point below_start = start; 470 gfx::Point below_start = start;
471 if (shelf->IsHorizontalAlignment()) 471 if (shelf->IsHorizontalAlignment())
472 below_start.set_y(GetShelfWidget()->GetWindowBoundsInScreen().bottom() + 1); 472 below_start.set_y(GetShelfWidget()->GetWindowBoundsInScreen().bottom() + 1);
473 else if (SHELF_ALIGNMENT_LEFT == shelf->GetAlignment()) 473 else if (SHELF_ALIGNMENT_LEFT == shelf->alignment())
474 below_start.set_x(GetShelfWidget()->GetWindowBoundsInScreen().x() - 1); 474 below_start.set_x(GetShelfWidget()->GetWindowBoundsInScreen().x() - 1);
475 else if (SHELF_ALIGNMENT_RIGHT == shelf->GetAlignment()) 475 else if (SHELF_ALIGNMENT_RIGHT == shelf->alignment())
476 below_start.set_x(GetShelfWidget()->GetWindowBoundsInScreen().right() + 1); 476 below_start.set_x(GetShelfWidget()->GetWindowBoundsInScreen().right() + 1);
477 end = below_start - delta; 477 end = below_start - delta;
478 generator.GestureScrollSequence(below_start, end, kTimeDelta, 478 generator.GestureScrollSequence(below_start, end, kTimeDelta,
479 kNumScrollSteps); 479 kNumScrollSteps);
480 EXPECT_EQ(SHELF_VISIBLE, shelf->GetVisibilityState()); 480 EXPECT_EQ(SHELF_VISIBLE, shelf->GetVisibilityState());
481 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior()); 481 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior());
482 EXPECT_EQ(bounds_shelf.ToString(), window->bounds().ToString()); 482 EXPECT_EQ(bounds_shelf.ToString(), window->bounds().ToString());
483 EXPECT_EQ(shelf_shown.ToString(), 483 EXPECT_EQ(shelf_shown.ToString(),
484 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 484 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
485 485
(...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after
1272 EXPECT_EQ(SHELF_VISIBLE, shelf->GetVisibilityState()); 1272 EXPECT_EQ(SHELF_VISIBLE, shelf->GetVisibilityState());
1273 1273
1274 shelf->SetAlignment(SHELF_ALIGNMENT_LEFT); 1274 shelf->SetAlignment(SHELF_ALIGNMENT_LEFT);
1275 gfx::Rect shelf_bounds(GetShelfWidget()->GetWindowBoundsInScreen()); 1275 gfx::Rect shelf_bounds(GetShelfWidget()->GetWindowBoundsInScreen());
1276 display::Display display = display::Screen::GetScreen()->GetPrimaryDisplay(); 1276 display::Display display = display::Screen::GetScreen()->GetPrimaryDisplay();
1277 ASSERT_NE(-1, display.id()); 1277 ASSERT_NE(-1, display.id());
1278 EXPECT_EQ(layout_manager->GetIdealBounds().width(), 1278 EXPECT_EQ(layout_manager->GetIdealBounds().width(),
1279 display.GetWorkAreaInsets().left()); 1279 display.GetWorkAreaInsets().left());
1280 EXPECT_GE(shelf_bounds.width(), 1280 EXPECT_GE(shelf_bounds.width(),
1281 GetShelfWidget()->GetContentsView()->GetPreferredSize().width()); 1281 GetShelfWidget()->GetContentsView()->GetPreferredSize().width());
1282 EXPECT_EQ(SHELF_ALIGNMENT_LEFT, GetPrimarySystemTray()->shelf_alignment()); 1282 EXPECT_EQ(SHELF_ALIGNMENT_LEFT, GetPrimarySystemTray()->shelf()->alignment());
1283 StatusAreaWidget* status_area_widget = GetShelfWidget()->status_area_widget(); 1283 StatusAreaWidget* status_area_widget = GetShelfWidget()->status_area_widget();
1284 gfx::Rect status_bounds(status_area_widget->GetWindowBoundsInScreen()); 1284 gfx::Rect status_bounds(status_area_widget->GetWindowBoundsInScreen());
1285 // TODO(estade): Re-enable this check. See crbug.com/660928. 1285 // TODO(estade): Re-enable this check. See crbug.com/660928.
1286 // EXPECT_GE( 1286 // EXPECT_GE(
1287 // status_bounds.width(), 1287 // status_bounds.width(),
1288 // status_area_widget->GetContentsView()->GetPreferredSize().width()); 1288 // status_area_widget->GetContentsView()->GetPreferredSize().width());
1289 EXPECT_EQ(layout_manager->GetIdealBounds().width(), 1289 EXPECT_EQ(layout_manager->GetIdealBounds().width(),
1290 display.GetWorkAreaInsets().left()); 1290 display.GetWorkAreaInsets().left());
1291 EXPECT_EQ(0, display.GetWorkAreaInsets().top()); 1291 EXPECT_EQ(0, display.GetWorkAreaInsets().top());
1292 EXPECT_EQ(0, display.GetWorkAreaInsets().bottom()); 1292 EXPECT_EQ(0, display.GetWorkAreaInsets().bottom());
1293 EXPECT_EQ(0, display.GetWorkAreaInsets().right()); 1293 EXPECT_EQ(0, display.GetWorkAreaInsets().right());
1294 EXPECT_EQ(display.bounds().x(), shelf_bounds.x()); 1294 EXPECT_EQ(display.bounds().x(), shelf_bounds.x());
1295 EXPECT_EQ(display.bounds().y(), shelf_bounds.y()); 1295 EXPECT_EQ(display.bounds().y(), shelf_bounds.y());
1296 EXPECT_EQ(display.bounds().height(), shelf_bounds.height()); 1296 EXPECT_EQ(display.bounds().height(), shelf_bounds.height());
1297 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); 1297 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
1298 display = display::Screen::GetScreen()->GetPrimaryDisplay(); 1298 display = display::Screen::GetScreen()->GetPrimaryDisplay();
1299 EXPECT_EQ(0, display.GetWorkAreaInsets().left()); 1299 EXPECT_EQ(0, display.GetWorkAreaInsets().left());
1300 EXPECT_EQ(0, display.work_area().x()); 1300 EXPECT_EQ(0, display.work_area().x());
1301 1301
1302 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); 1302 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
1303 shelf->SetAlignment(SHELF_ALIGNMENT_RIGHT); 1303 shelf->SetAlignment(SHELF_ALIGNMENT_RIGHT);
1304 shelf_bounds = GetShelfWidget()->GetWindowBoundsInScreen(); 1304 shelf_bounds = GetShelfWidget()->GetWindowBoundsInScreen();
1305 display = display::Screen::GetScreen()->GetPrimaryDisplay(); 1305 display = display::Screen::GetScreen()->GetPrimaryDisplay();
1306 ASSERT_NE(-1, display.id()); 1306 ASSERT_NE(-1, display.id());
1307 EXPECT_EQ(layout_manager->GetIdealBounds().width(), 1307 EXPECT_EQ(layout_manager->GetIdealBounds().width(),
1308 display.GetWorkAreaInsets().right()); 1308 display.GetWorkAreaInsets().right());
1309 EXPECT_GE(shelf_bounds.width(), 1309 EXPECT_GE(shelf_bounds.width(),
1310 GetShelfWidget()->GetContentsView()->GetPreferredSize().width()); 1310 GetShelfWidget()->GetContentsView()->GetPreferredSize().width());
1311 EXPECT_EQ(SHELF_ALIGNMENT_RIGHT, GetPrimarySystemTray()->shelf_alignment()); 1311 EXPECT_EQ(SHELF_ALIGNMENT_RIGHT,
1312 GetPrimarySystemTray()->shelf()->alignment());
1312 status_bounds = gfx::Rect(status_area_widget->GetWindowBoundsInScreen()); 1313 status_bounds = gfx::Rect(status_area_widget->GetWindowBoundsInScreen());
1313 // TODO(estade): Re-enable this check. See crbug.com/660928. 1314 // TODO(estade): Re-enable this check. See crbug.com/660928.
1314 // EXPECT_GE( 1315 // EXPECT_GE(
1315 // status_bounds.width(), 1316 // status_bounds.width(),
1316 // status_area_widget->GetContentsView()->GetPreferredSize().width()); 1317 // status_area_widget->GetContentsView()->GetPreferredSize().width());
1317 EXPECT_EQ(layout_manager->GetIdealBounds().width(), 1318 EXPECT_EQ(layout_manager->GetIdealBounds().width(),
1318 display.GetWorkAreaInsets().right()); 1319 display.GetWorkAreaInsets().right());
1319 EXPECT_EQ(0, display.GetWorkAreaInsets().top()); 1320 EXPECT_EQ(0, display.GetWorkAreaInsets().top());
1320 EXPECT_EQ(0, display.GetWorkAreaInsets().bottom()); 1321 EXPECT_EQ(0, display.GetWorkAreaInsets().bottom());
1321 EXPECT_EQ(0, display.GetWorkAreaInsets().left()); 1322 EXPECT_EQ(0, display.GetWorkAreaInsets().left());
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after
1835 // Open keyboard in sticky mode. 1836 // Open keyboard in sticky mode.
1836 kb_controller->ShowKeyboard(true); 1837 kb_controller->ShowKeyboard(true);
1837 layout_manager->OnKeyboardBoundsChanging(keyboard_bounds()); 1838 layout_manager->OnKeyboardBoundsChanging(keyboard_bounds());
1838 1839
1839 // Work area should be changed. 1840 // Work area should be changed.
1840 EXPECT_NE(orig_work_area, 1841 EXPECT_NE(orig_work_area,
1841 display::Screen::GetScreen()->GetPrimaryDisplay().work_area()); 1842 display::Screen::GetScreen()->GetPrimaryDisplay().work_area());
1842 } 1843 }
1843 1844
1844 } // namespace ash 1845 } // namespace ash
OLDNEW
« no previous file with comments | « ash/BUILD.gn ('k') | ash/shelf/shelf_widget.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698