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

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

Issue 306483003: Prepare for Unified Gesture Recognizer landing in Aura (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix whitespace, disable UGR. Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.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/ash_switches.h" 9 #include "ash/ash_switches.h"
10 #include "ash/display/display_manager.h" 10 #include "ash/display/display_manager.h"
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 ShelfLayoutManager* shelf = GetShelfLayoutManager(); 384 ShelfLayoutManager* shelf = GetShelfLayoutManager();
385 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); 385 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
386 views::Widget* widget = new views::Widget; 386 views::Widget* widget = new views::Widget;
387 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); 387 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
388 params.bounds = gfx::Rect(0, 0, 200, 200); 388 params.bounds = gfx::Rect(0, 0, 200, 200);
389 params.context = CurrentContext(); 389 params.context = CurrentContext();
390 widget->Init(params); 390 widget->Init(params);
391 widget->Show(); 391 widget->Show();
392 widget->Maximize(); 392 widget->Maximize();
393 393
394 const base::TimeDelta kTimeDelta = base::TimeDelta::FromMilliseconds(40);
395
394 aura::Window* window = widget->GetNativeWindow(); 396 aura::Window* window = widget->GetNativeWindow();
395 shelf->LayoutShelf(); 397 shelf->LayoutShelf();
396 398
397 gfx::Rect shelf_shown = GetShelfWidget()->GetWindowBoundsInScreen(); 399 gfx::Rect shelf_shown = GetShelfWidget()->GetWindowBoundsInScreen();
398 gfx::Rect bounds_shelf = window->bounds(); 400 gfx::Rect bounds_shelf = window->bounds();
399 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state()); 401 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state());
400 402
401 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); 403 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
402 shelf->LayoutShelf(); 404 shelf->LayoutShelf();
403 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 405 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
404 406
405 gfx::Rect bounds_noshelf = window->bounds(); 407 gfx::Rect bounds_noshelf = window->bounds();
406 gfx::Rect shelf_hidden = GetShelfWidget()->GetWindowBoundsInScreen(); 408 gfx::Rect shelf_hidden = GetShelfWidget()->GetWindowBoundsInScreen();
407 409
408 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); 410 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
409 shelf->LayoutShelf(); 411 shelf->LayoutShelf();
410 412
411 aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow()); 413 aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow());
412 const int kNumScrollSteps = 4; 414 const int kNumScrollSteps = 4;
413 ShelfDragCallback handler(shelf_hidden, shelf_shown); 415 ShelfDragCallback handler(shelf_hidden, shelf_shown);
414 416
415 // Swipe up on the shelf. This should not change any state. 417 // Swipe up on the shelf. This should not change any state.
416 gfx::Point start = GetShelfWidget()->GetWindowBoundsInScreen().CenterPoint(); 418 gfx::Point start = GetShelfWidget()->GetWindowBoundsInScreen().CenterPoint();
417 gfx::Point end = start + delta; 419 gfx::Point end = start + delta;
418 420
419 // Swipe down on the shelf to hide it. 421 // Swipe down on the shelf to hide it.
420 generator.GestureScrollSequenceWithCallback(start, end, 422 generator.GestureScrollSequenceWithCallback(
421 base::TimeDelta::FromMilliseconds(10), kNumScrollSteps, 423 start,
424 end,
425 kTimeDelta,
426 kNumScrollSteps,
422 base::Bind(&ShelfDragCallback::ProcessScroll, 427 base::Bind(&ShelfDragCallback::ProcessScroll,
423 base::Unretained(&handler))); 428 base::Unretained(&handler)));
424 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 429 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
425 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 430 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
426 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior()); 431 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior());
427 EXPECT_NE(bounds_shelf.ToString(), window->bounds().ToString()); 432 EXPECT_NE(bounds_shelf.ToString(), window->bounds().ToString());
428 EXPECT_NE(shelf_shown.ToString(), 433 EXPECT_NE(shelf_shown.ToString(),
429 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 434 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
430 435
431 // Swipe up to show the shelf. 436 // Swipe up to show the shelf.
432 generator.GestureScrollSequenceWithCallback(end, start, 437 generator.GestureScrollSequenceWithCallback(
433 base::TimeDelta::FromMilliseconds(10), kNumScrollSteps, 438 end,
439 start,
440 kTimeDelta,
441 kNumScrollSteps,
434 base::Bind(&ShelfDragCallback::ProcessScroll, 442 base::Bind(&ShelfDragCallback::ProcessScroll,
435 base::Unretained(&handler))); 443 base::Unretained(&handler)));
436 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state()); 444 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state());
437 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior()); 445 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior());
438 EXPECT_EQ(bounds_shelf.ToString(), window->bounds().ToString()); 446 EXPECT_EQ(bounds_shelf.ToString(), window->bounds().ToString());
439 EXPECT_EQ(GetShelfWidget()->GetDimmerBoundsForTest(), 447 EXPECT_EQ(GetShelfWidget()->GetDimmerBoundsForTest(),
440 GetShelfWidget()->GetWindowBoundsInScreen()); 448 GetShelfWidget()->GetWindowBoundsInScreen());
441 EXPECT_EQ(shelf_shown.ToString(), 449 EXPECT_EQ(shelf_shown.ToString(),
442 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 450 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
443 451
444 // Swipe up again. The shelf should hide. 452 // Swipe up again. The shelf should hide.
445 end = start - delta; 453 end = start - delta;
446 generator.GestureScrollSequenceWithCallback(start, end, 454 generator.GestureScrollSequenceWithCallback(
447 base::TimeDelta::FromMilliseconds(10), kNumScrollSteps, 455 start,
456 end,
457 kTimeDelta,
458 kNumScrollSteps,
448 base::Bind(&ShelfDragCallback::ProcessScroll, 459 base::Bind(&ShelfDragCallback::ProcessScroll,
449 base::Unretained(&handler))); 460 base::Unretained(&handler)));
450 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 461 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
451 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 462 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
452 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior()); 463 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior());
453 EXPECT_EQ(shelf_hidden.ToString(), 464 EXPECT_EQ(shelf_hidden.ToString(),
454 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 465 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
455 466
456 // Swipe up yet again to show it. 467 // Swipe up yet again to show it.
457 end = start + delta; 468 end = start + delta;
458 generator.GestureScrollSequenceWithCallback(end, start, 469 generator.GestureScrollSequenceWithCallback(
459 base::TimeDelta::FromMilliseconds(10), kNumScrollSteps, 470 end,
471 start,
472 kTimeDelta,
473 kNumScrollSteps,
460 base::Bind(&ShelfDragCallback::ProcessScroll, 474 base::Bind(&ShelfDragCallback::ProcessScroll,
461 base::Unretained(&handler))); 475 base::Unretained(&handler)));
462 476
463 // Swipe down very little. It shouldn't change any state. 477 // Swipe down very little. It shouldn't change any state.
464 if (GetShelfLayoutManager()->IsHorizontalAlignment()) 478 if (GetShelfLayoutManager()->IsHorizontalAlignment())
465 end.set_y(start.y() + shelf_shown.height() * 3 / 10); 479 end.set_y(start.y() + shelf_shown.height() * 3 / 10);
466 else if (SHELF_ALIGNMENT_LEFT == GetShelfLayoutManager()->GetAlignment()) 480 else if (SHELF_ALIGNMENT_LEFT == GetShelfLayoutManager()->GetAlignment())
467 end.set_x(start.x() - shelf_shown.width() * 3 / 10); 481 end.set_x(start.x() - shelf_shown.width() * 3 / 10);
468 else if (SHELF_ALIGNMENT_RIGHT == GetShelfLayoutManager()->GetAlignment()) 482 else if (SHELF_ALIGNMENT_RIGHT == GetShelfLayoutManager()->GetAlignment())
469 end.set_x(start.x() + shelf_shown.width() * 3 / 10); 483 end.set_x(start.x() + shelf_shown.width() * 3 / 10);
470 generator.GestureScrollSequence(start, end, 484 generator.GestureScrollSequence(start, end, kTimeDelta, 5);
471 base::TimeDelta::FromMilliseconds(10), 5);
472 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state()); 485 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state());
473 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior()); 486 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior());
474 EXPECT_EQ(bounds_shelf.ToString(), window->bounds().ToString()); 487 EXPECT_EQ(bounds_shelf.ToString(), window->bounds().ToString());
475 EXPECT_EQ(shelf_shown.ToString(), 488 EXPECT_EQ(shelf_shown.ToString(),
476 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 489 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
477 490
478 // Swipe down again to hide. 491 // Swipe down again to hide.
479 end = start + delta; 492 end = start + delta;
480 generator.GestureScrollSequenceWithCallback(start, end, 493 generator.GestureScrollSequenceWithCallback(
481 base::TimeDelta::FromMilliseconds(10), kNumScrollSteps, 494 start,
495 end,
496 kTimeDelta,
497 kNumScrollSteps,
482 base::Bind(&ShelfDragCallback::ProcessScroll, 498 base::Bind(&ShelfDragCallback::ProcessScroll,
483 base::Unretained(&handler))); 499 base::Unretained(&handler)));
484 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 500 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
485 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 501 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
486 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior()); 502 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior());
487 EXPECT_EQ(GetShelfWidget()->GetDimmerBoundsForTest(), gfx::Rect()); 503 EXPECT_EQ(GetShelfWidget()->GetDimmerBoundsForTest(), gfx::Rect());
488 EXPECT_EQ(bounds_noshelf.ToString(), window->bounds().ToString()); 504 EXPECT_EQ(bounds_noshelf.ToString(), window->bounds().ToString());
489 EXPECT_EQ(shelf_hidden.ToString(), 505 EXPECT_EQ(shelf_hidden.ToString(),
490 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 506 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
491 507
492 // Swipe up in extended hit region to show it. 508 // Swipe up in extended hit region to show it.
493 gfx::Point extended_start = start; 509 gfx::Point extended_start = start;
494 if (GetShelfLayoutManager()->IsHorizontalAlignment()) 510 if (GetShelfLayoutManager()->IsHorizontalAlignment())
495 extended_start.set_y(GetShelfWidget()->GetWindowBoundsInScreen().y() -1); 511 extended_start.set_y(GetShelfWidget()->GetWindowBoundsInScreen().y() -1);
496 else if (SHELF_ALIGNMENT_LEFT == GetShelfLayoutManager()->GetAlignment()) 512 else if (SHELF_ALIGNMENT_LEFT == GetShelfLayoutManager()->GetAlignment())
497 extended_start.set_x( 513 extended_start.set_x(
498 GetShelfWidget()->GetWindowBoundsInScreen().right() + 1); 514 GetShelfWidget()->GetWindowBoundsInScreen().right() + 1);
499 else if (SHELF_ALIGNMENT_RIGHT == GetShelfLayoutManager()->GetAlignment()) 515 else if (SHELF_ALIGNMENT_RIGHT == GetShelfLayoutManager()->GetAlignment())
500 extended_start.set_x(GetShelfWidget()->GetWindowBoundsInScreen().x() - 1); 516 extended_start.set_x(GetShelfWidget()->GetWindowBoundsInScreen().x() - 1);
501 end = extended_start - delta; 517 end = extended_start - delta;
502 generator.GestureScrollSequenceWithCallback(extended_start, end, 518 generator.GestureScrollSequenceWithCallback(
503 base::TimeDelta::FromMilliseconds(10), kNumScrollSteps, 519 extended_start,
520 end,
521 kTimeDelta,
522 kNumScrollSteps,
504 base::Bind(&ShelfDragCallback::ProcessScroll, 523 base::Bind(&ShelfDragCallback::ProcessScroll,
505 base::Unretained(&handler))); 524 base::Unretained(&handler)));
506 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state()); 525 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state());
507 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior()); 526 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior());
508 EXPECT_EQ(bounds_shelf.ToString(), window->bounds().ToString()); 527 EXPECT_EQ(bounds_shelf.ToString(), window->bounds().ToString());
509 EXPECT_EQ(GetShelfWidget()->GetDimmerBoundsForTest(), 528 EXPECT_EQ(GetShelfWidget()->GetDimmerBoundsForTest(),
510 GetShelfWidget()->GetWindowBoundsInScreen()); 529 GetShelfWidget()->GetWindowBoundsInScreen());
511 EXPECT_EQ(shelf_shown.ToString(), 530 EXPECT_EQ(shelf_shown.ToString(),
512 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 531 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
513 532
514 // Swipe down again to hide. 533 // Swipe down again to hide.
515 end = start + delta; 534 end = start + delta;
516 generator.GestureScrollSequenceWithCallback(start, end, 535 generator.GestureScrollSequenceWithCallback(
517 base::TimeDelta::FromMilliseconds(10), kNumScrollSteps, 536 start,
537 end,
538 kTimeDelta,
539 kNumScrollSteps,
518 base::Bind(&ShelfDragCallback::ProcessScroll, 540 base::Bind(&ShelfDragCallback::ProcessScroll,
519 base::Unretained(&handler))); 541 base::Unretained(&handler)));
520 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 542 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
521 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 543 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
522 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior()); 544 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior());
523 EXPECT_EQ(GetShelfWidget()->GetDimmerBoundsForTest(), gfx::Rect()); 545 EXPECT_EQ(GetShelfWidget()->GetDimmerBoundsForTest(), gfx::Rect());
524 EXPECT_EQ(bounds_noshelf.ToString(), window->bounds().ToString()); 546 EXPECT_EQ(bounds_noshelf.ToString(), window->bounds().ToString());
525 EXPECT_EQ(shelf_hidden.ToString(), 547 EXPECT_EQ(shelf_hidden.ToString(),
526 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 548 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
527 549
528 // Swipe up outside the hit area. This should not change anything. 550 // Swipe up outside the hit area. This should not change anything.
529 gfx::Point outside_start = gfx::Point( 551 gfx::Point outside_start = gfx::Point(
530 (GetShelfWidget()->GetWindowBoundsInScreen().x() + 552 (GetShelfWidget()->GetWindowBoundsInScreen().x() +
531 GetShelfWidget()->GetWindowBoundsInScreen().right())/2, 553 GetShelfWidget()->GetWindowBoundsInScreen().right())/2,
532 GetShelfWidget()->GetWindowBoundsInScreen().y() - 50); 554 GetShelfWidget()->GetWindowBoundsInScreen().y() - 50);
533 end = outside_start + delta; 555 end = outside_start + delta;
534 generator.GestureScrollSequence(outside_start, 556 generator.GestureScrollSequence(
535 end, 557 outside_start, end, kTimeDelta, kNumScrollSteps);
536 base::TimeDelta::FromMilliseconds(10),
537 kNumScrollSteps);
538 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 558 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
539 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 559 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
540 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior()); 560 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior());
541 EXPECT_EQ(shelf_hidden.ToString(), 561 EXPECT_EQ(shelf_hidden.ToString(),
542 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 562 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
543 563
544 // Swipe up from below the shelf where a bezel would be, this should show the 564 // Swipe up from below the shelf where a bezel would be, this should show the
545 // shelf. 565 // shelf.
546 gfx::Point below_start = start; 566 gfx::Point below_start = start;
547 if (GetShelfLayoutManager()->IsHorizontalAlignment()) 567 if (GetShelfLayoutManager()->IsHorizontalAlignment())
548 below_start.set_y(GetShelfWidget()->GetWindowBoundsInScreen().bottom() + 1); 568 below_start.set_y(GetShelfWidget()->GetWindowBoundsInScreen().bottom() + 1);
549 else if (SHELF_ALIGNMENT_LEFT == GetShelfLayoutManager()->GetAlignment()) 569 else if (SHELF_ALIGNMENT_LEFT == GetShelfLayoutManager()->GetAlignment())
550 below_start.set_x( 570 below_start.set_x(
551 GetShelfWidget()->GetWindowBoundsInScreen().x() - 1); 571 GetShelfWidget()->GetWindowBoundsInScreen().x() - 1);
552 else if (SHELF_ALIGNMENT_RIGHT == GetShelfLayoutManager()->GetAlignment()) 572 else if (SHELF_ALIGNMENT_RIGHT == GetShelfLayoutManager()->GetAlignment())
553 below_start.set_x(GetShelfWidget()->GetWindowBoundsInScreen().right() + 1); 573 below_start.set_x(GetShelfWidget()->GetWindowBoundsInScreen().right() + 1);
554 end = below_start - delta; 574 end = below_start - delta;
555 generator.GestureScrollSequence(below_start, 575 generator.GestureScrollSequence(
556 end, 576 below_start, end, kTimeDelta, kNumScrollSteps);
557 base::TimeDelta::FromMilliseconds(10),
558 kNumScrollSteps);
559 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state()); 577 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state());
560 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior()); 578 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior());
561 EXPECT_EQ(bounds_shelf.ToString(), window->bounds().ToString()); 579 EXPECT_EQ(bounds_shelf.ToString(), window->bounds().ToString());
562 EXPECT_EQ(GetShelfWidget()->GetDimmerBoundsForTest(), 580 EXPECT_EQ(GetShelfWidget()->GetDimmerBoundsForTest(),
563 GetShelfWidget()->GetWindowBoundsInScreen()); 581 GetShelfWidget()->GetWindowBoundsInScreen());
564 EXPECT_EQ(shelf_shown.ToString(), 582 EXPECT_EQ(shelf_shown.ToString(),
565 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 583 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
566 584
567 // Swipe down again to hide. 585 // Swipe down again to hide.
568 end = start + delta; 586 end = start + delta;
569 generator.GestureScrollSequenceWithCallback(start, end, 587 generator.GestureScrollSequenceWithCallback(
570 base::TimeDelta::FromMilliseconds(10), kNumScrollSteps, 588 start,
589 end,
590 kTimeDelta,
591 kNumScrollSteps,
571 base::Bind(&ShelfDragCallback::ProcessScroll, 592 base::Bind(&ShelfDragCallback::ProcessScroll,
572 base::Unretained(&handler))); 593 base::Unretained(&handler)));
573 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 594 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
574 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 595 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
575 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior()); 596 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior());
576 EXPECT_EQ(GetShelfWidget()->GetDimmerBoundsForTest(), gfx::Rect()); 597 EXPECT_EQ(GetShelfWidget()->GetDimmerBoundsForTest(), gfx::Rect());
577 EXPECT_EQ(bounds_noshelf.ToString(), window->bounds().ToString()); 598 EXPECT_EQ(bounds_noshelf.ToString(), window->bounds().ToString());
578 EXPECT_EQ(shelf_hidden.ToString(), 599 EXPECT_EQ(shelf_hidden.ToString(),
579 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 600 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
580 601
581 // Put |widget| into fullscreen. Set the shelf to be auto hidden when |widget| 602 // Put |widget| into fullscreen. Set the shelf to be auto hidden when |widget|
582 // is fullscreen. (eg browser immersive fullscreen). 603 // is fullscreen. (eg browser immersive fullscreen).
583 widget->SetFullscreen(true); 604 widget->SetFullscreen(true);
584 wm::GetWindowState(window)->set_hide_shelf_when_fullscreen(false); 605 wm::GetWindowState(window)->set_hide_shelf_when_fullscreen(false);
585 shelf->UpdateVisibilityState(); 606 shelf->UpdateVisibilityState();
586 607
587 gfx::Rect bounds_fullscreen = window->bounds(); 608 gfx::Rect bounds_fullscreen = window->bounds();
588 EXPECT_TRUE(widget->IsFullscreen()); 609 EXPECT_TRUE(widget->IsFullscreen());
589 EXPECT_NE(bounds_noshelf.ToString(), bounds_fullscreen.ToString()); 610 EXPECT_NE(bounds_noshelf.ToString(), bounds_fullscreen.ToString());
590 611
591 // Swipe up. This should show the shelf. 612 // Swipe up. This should show the shelf.
592 end = below_start - delta; 613 end = below_start - delta;
593 generator.GestureScrollSequenceWithCallback(below_start, end, 614 generator.GestureScrollSequenceWithCallback(
594 base::TimeDelta::FromMilliseconds(10), kNumScrollSteps, 615 below_start,
616 end,
617 kTimeDelta,
618 kNumScrollSteps,
595 base::Bind(&ShelfDragCallback::ProcessScroll, 619 base::Bind(&ShelfDragCallback::ProcessScroll,
596 base::Unretained(&handler))); 620 base::Unretained(&handler)));
597 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 621 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
598 EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->auto_hide_state()); 622 EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->auto_hide_state());
599 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior()); 623 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_NEVER, shelf->auto_hide_behavior());
600 EXPECT_EQ(shelf_shown.ToString(), 624 EXPECT_EQ(shelf_shown.ToString(),
601 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 625 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
602 EXPECT_EQ(bounds_fullscreen.ToString(), window->bounds().ToString()); 626 EXPECT_EQ(bounds_fullscreen.ToString(), window->bounds().ToString());
603 627
604 // Swipe up again. This should hide the shelf. 628 // Swipe up again. This should hide the shelf.
605 generator.GestureScrollSequenceWithCallback(below_start, end, 629 generator.GestureScrollSequenceWithCallback(
606 base::TimeDelta::FromMilliseconds(10), kNumScrollSteps, 630 below_start,
631 end,
632 kTimeDelta,
633 kNumScrollSteps,
607 base::Bind(&ShelfDragCallback::ProcessScroll, 634 base::Bind(&ShelfDragCallback::ProcessScroll,
608 base::Unretained(&handler))); 635 base::Unretained(&handler)));
609 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 636 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
610 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 637 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
611 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior()); 638 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior());
612 EXPECT_EQ(shelf_hidden.ToString(), 639 EXPECT_EQ(shelf_hidden.ToString(),
613 GetShelfWidget()->GetWindowBoundsInScreen().ToString()); 640 GetShelfWidget()->GetWindowBoundsInScreen().ToString());
614 EXPECT_EQ(bounds_fullscreen.ToString(), window->bounds().ToString()); 641 EXPECT_EQ(bounds_fullscreen.ToString(), window->bounds().ToString());
615 642
616 // Set the shelf to be hidden when |widget| is fullscreen. (eg tab fullscreen 643 // Set the shelf to be hidden when |widget| is fullscreen. (eg tab fullscreen
617 // with or without immersive browser fullscreen). 644 // with or without immersive browser fullscreen).
618 wm::GetWindowState(window)->set_hide_shelf_when_fullscreen(true); 645 wm::GetWindowState(window)->set_hide_shelf_when_fullscreen(true);
619 shelf->UpdateVisibilityState(); 646 shelf->UpdateVisibilityState();
620 EXPECT_EQ(SHELF_HIDDEN, shelf->visibility_state()); 647 EXPECT_EQ(SHELF_HIDDEN, shelf->visibility_state());
621 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior()); 648 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior());
622 649
623 // Swipe-up. This should not change anything. 650 // Swipe-up. This should not change anything.
624 end = start - delta; 651 end = start - delta;
625 generator.GestureScrollSequenceWithCallback(below_start, end, 652 generator.GestureScrollSequenceWithCallback(
626 base::TimeDelta::FromMilliseconds(10), kNumScrollSteps, 653 below_start,
654 end,
655 kTimeDelta,
656 kNumScrollSteps,
627 base::Bind(&ShelfDragCallback::ProcessScroll, 657 base::Bind(&ShelfDragCallback::ProcessScroll,
628 base::Unretained(&handler))); 658 base::Unretained(&handler)));
629 EXPECT_EQ(SHELF_HIDDEN, shelf->visibility_state()); 659 EXPECT_EQ(SHELF_HIDDEN, shelf->visibility_state());
630 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior()); 660 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior());
631 EXPECT_EQ(bounds_fullscreen.ToString(), window->bounds().ToString()); 661 EXPECT_EQ(bounds_fullscreen.ToString(), window->bounds().ToString());
632 662
633 // Close actually, otherwise further event may be affected since widget 663 // Close actually, otherwise further event may be affected since widget
634 // is fullscreen status. 664 // is fullscreen status.
635 widget->Close(); 665 widget->Close();
636 RunAllPendingInMessageLoop(); 666 RunAllPendingInMessageLoop();
637 667
638 // The shelf should be shown because there are no more visible windows. 668 // The shelf should be shown because there are no more visible windows.
639 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 669 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
640 EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->auto_hide_state()); 670 EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->auto_hide_state());
641 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior()); 671 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior());
642 672
643 // Swipe-up to hide. This should have no effect because there are no visible 673 // Swipe-up to hide. This should have no effect because there are no visible
644 // windows. 674 // windows.
645 end = below_start - delta; 675 end = below_start - delta;
646 generator.GestureScrollSequenceWithCallback(below_start, end, 676 generator.GestureScrollSequenceWithCallback(
647 base::TimeDelta::FromMilliseconds(10), kNumScrollSteps, 677 below_start,
678 end,
679 kTimeDelta,
680 kNumScrollSteps,
648 base::Bind(&ShelfDragCallback::ProcessScroll, 681 base::Bind(&ShelfDragCallback::ProcessScroll,
649 base::Unretained(&handler))); 682 base::Unretained(&handler)));
650 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 683 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
651 EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->auto_hide_state()); 684 EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->auto_hide_state());
652 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior()); 685 EXPECT_EQ(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS, shelf->auto_hide_behavior());
653 } 686 }
654 687
655 // Need to be implemented. http://crbug.com/111279. 688 // Need to be implemented. http://crbug.com/111279.
656 #if defined(OS_WIN) 689 #if defined(OS_WIN)
657 #define MAYBE_SetVisible DISABLED_SetVisible 690 #define MAYBE_SetVisible DISABLED_SetVisible
(...skipping 1427 matching lines...) Expand 10 before | Expand all | Expand 10 after
2085 generator.MoveMouseTo(0, 399); 2118 generator.MoveMouseTo(0, 399);
2086 shelf->SetAlignment(SHELF_ALIGNMENT_LEFT); 2119 shelf->SetAlignment(SHELF_ALIGNMENT_LEFT);
2087 EXPECT_FALSE(status_area_widget->IsMessageBubbleShown()); 2120 EXPECT_FALSE(status_area_widget->IsMessageBubbleShown());
2088 generator.ClickLeftButton(); 2121 generator.ClickLeftButton();
2089 EXPECT_TRUE(status_area_widget->IsMessageBubbleShown()); 2122 EXPECT_TRUE(status_area_widget->IsMessageBubbleShown());
2090 generator.ClickLeftButton(); 2123 generator.ClickLeftButton();
2091 EXPECT_FALSE(status_area_widget->IsMessageBubbleShown()); 2124 EXPECT_FALSE(status_area_widget->IsMessageBubbleShown());
2092 } 2125 }
2093 2126
2094 } // namespace ash 2127 } // namespace ash
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698