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

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

Issue 115113006: Rename Launcher to Shelf. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more fixes Created 7 years 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 | « ash/shelf/shelf_layout_manager.cc ('k') | ash/shelf/shelf_navigator_unittest.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"
11 #include "ash/focus_cycler.h" 11 #include "ash/focus_cycler.h"
12 #include "ash/launcher/launcher.h"
13 #include "ash/root_window_controller.h" 12 #include "ash/root_window_controller.h"
14 #include "ash/screen_ash.h" 13 #include "ash/screen_ash.h"
15 #include "ash/session_state_delegate.h" 14 #include "ash/session_state_delegate.h"
15 #include "ash/shelf/shelf.h"
16 #include "ash/shelf/shelf_layout_manager_observer.h" 16 #include "ash/shelf/shelf_layout_manager_observer.h"
17 #include "ash/shelf/shelf_view.h" 17 #include "ash/shelf/shelf_view.h"
18 #include "ash/shelf/shelf_widget.h" 18 #include "ash/shelf/shelf_widget.h"
19 #include "ash/shell.h" 19 #include "ash/shell.h"
20 #include "ash/shell_window_ids.h" 20 #include "ash/shell_window_ids.h"
21 #include "ash/system/status_area_widget.h" 21 #include "ash/system/status_area_widget.h"
22 #include "ash/system/tray/system_tray.h" 22 #include "ash/system/tray/system_tray.h"
23 #include "ash/system/tray/system_tray_item.h" 23 #include "ash/system/tray/system_tray_item.h"
24 #include "ash/test/ash_test_base.h" 24 #include "ash/test/ash_test_base.h"
25 #include "ash/test/launcher_test_api.h" 25 #include "ash/test/shelf_test_api.h"
26 #include "ash/wm/window_state.h" 26 #include "ash/wm/window_state.h"
27 #include "ash/wm/window_util.h" 27 #include "ash/wm/window_util.h"
28 #include "base/command_line.h" 28 #include "base/command_line.h"
29 #include "base/strings/utf_string_conversions.h" 29 #include "base/strings/utf_string_conversions.h"
30 #include "ui/aura/client/aura_constants.h" 30 #include "ui/aura/client/aura_constants.h"
31 #include "ui/aura/root_window.h" 31 #include "ui/aura/root_window.h"
32 #include "ui/aura/test/event_generator.h" 32 #include "ui/aura/test/event_generator.h"
33 #include "ui/aura/window.h" 33 #include "ui/aura/window.h"
34 #include "ui/compositor/layer.h" 34 #include "ui/compositor/layer.h"
35 #include "ui/compositor/layer_animator.h" 35 #include "ui/compositor/layer_animator.h"
(...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 // Makes sure SetVisible updates work area and widget appropriately. 662 // Makes sure SetVisible updates work area and widget appropriately.
663 TEST_F(ShelfLayoutManagerTest, MAYBE_SetVisible) { 663 TEST_F(ShelfLayoutManagerTest, MAYBE_SetVisible) {
664 ShelfWidget* shelf = GetShelfWidget(); 664 ShelfWidget* shelf = GetShelfWidget();
665 ShelfLayoutManager* manager = shelf->shelf_layout_manager(); 665 ShelfLayoutManager* manager = shelf->shelf_layout_manager();
666 // Force an initial layout. 666 // Force an initial layout.
667 manager->LayoutShelf(); 667 manager->LayoutShelf();
668 EXPECT_EQ(SHELF_VISIBLE, manager->visibility_state()); 668 EXPECT_EQ(SHELF_VISIBLE, manager->visibility_state());
669 669
670 gfx::Rect status_bounds( 670 gfx::Rect status_bounds(
671 shelf->status_area_widget()->GetWindowBoundsInScreen()); 671 shelf->status_area_widget()->GetWindowBoundsInScreen());
672 gfx::Rect launcher_bounds( 672 gfx::Rect shelf_bounds(
673 shelf->GetWindowBoundsInScreen()); 673 shelf->GetWindowBoundsInScreen());
674 int shelf_height = manager->GetIdealBounds().height(); 674 int shelf_height = manager->GetIdealBounds().height();
675 gfx::Screen* screen = Shell::GetScreen(); 675 gfx::Screen* screen = Shell::GetScreen();
676 gfx::Display display = screen->GetDisplayNearestWindow( 676 gfx::Display display = screen->GetDisplayNearestWindow(
677 Shell::GetPrimaryRootWindow()); 677 Shell::GetPrimaryRootWindow());
678 ASSERT_NE(-1, display.id()); 678 ASSERT_NE(-1, display.id());
679 // Bottom inset should be the max of widget heights. 679 // Bottom inset should be the max of widget heights.
680 EXPECT_EQ(shelf_height, display.GetWorkAreaInsets().bottom()); 680 EXPECT_EQ(shelf_height, display.GetWorkAreaInsets().bottom());
681 681
682 // Hide the shelf. 682 // Hide the shelf.
(...skipping 17 matching lines...) Expand all
700 SetState(manager, SHELF_VISIBLE); 700 SetState(manager, SHELF_VISIBLE);
701 // Run the animation to completion. 701 // Run the animation to completion.
702 StepWidgetLayerAnimatorToEnd(shelf); 702 StepWidgetLayerAnimatorToEnd(shelf);
703 StepWidgetLayerAnimatorToEnd(shelf->status_area_widget()); 703 StepWidgetLayerAnimatorToEnd(shelf->status_area_widget());
704 EXPECT_EQ(SHELF_VISIBLE, manager->visibility_state()); 704 EXPECT_EQ(SHELF_VISIBLE, manager->visibility_state());
705 display = screen->GetDisplayNearestWindow( 705 display = screen->GetDisplayNearestWindow(
706 Shell::GetPrimaryRootWindow()); 706 Shell::GetPrimaryRootWindow());
707 EXPECT_EQ(shelf_height, display.GetWorkAreaInsets().bottom()); 707 EXPECT_EQ(shelf_height, display.GetWorkAreaInsets().bottom());
708 708
709 // Make sure the bounds of the two widgets changed. 709 // Make sure the bounds of the two widgets changed.
710 launcher_bounds = shelf->GetNativeView()->bounds(); 710 shelf_bounds = shelf->GetNativeView()->bounds();
711 EXPECT_LT(launcher_bounds.y(), 711 EXPECT_LT(shelf_bounds.y(), screen->GetPrimaryDisplay().bounds().bottom());
712 screen->GetPrimaryDisplay().bounds().bottom());
713 status_bounds = shelf->status_area_widget()->GetNativeView()->bounds(); 712 status_bounds = shelf->status_area_widget()->GetNativeView()->bounds();
714 EXPECT_LT(status_bounds.y(), 713 EXPECT_LT(status_bounds.y(),
715 screen->GetPrimaryDisplay().bounds().bottom()); 714 screen->GetPrimaryDisplay().bounds().bottom());
716 } 715 }
717 716
718 // Makes sure shelf alignment is correct for lock screen. 717 // Makes sure shelf alignment is correct for lock screen.
719 TEST_F(ShelfLayoutManagerTest, SideAlignmentInteractionWithLockScreen) { 718 TEST_F(ShelfLayoutManagerTest, SideAlignmentInteractionWithLockScreen) {
720 ShelfLayoutManager* manager = GetShelfWidget()->shelf_layout_manager(); 719 ShelfLayoutManager* manager = GetShelfWidget()->shelf_layout_manager();
721 manager->SetAlignment(SHELF_ALIGNMENT_LEFT); 720 manager->SetAlignment(SHELF_ALIGNMENT_LEFT);
722 EXPECT_EQ(SHELF_ALIGNMENT_LEFT, manager->GetAlignment()); 721 EXPECT_EQ(SHELF_ALIGNMENT_LEFT, manager->GetAlignment());
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
768 767
769 const int small_change = initial_shelf_bounds.height() / 2; 768 const int small_change = initial_shelf_bounds.height() / 2;
770 EXPECT_LE( 769 EXPECT_LE(
771 std::abs(initial_shelf_bounds.height() - current_shelf_bounds.height()), 770 std::abs(initial_shelf_bounds.height() - current_shelf_bounds.height()),
772 small_change); 771 small_change);
773 EXPECT_LE( 772 EXPECT_LE(
774 std::abs(initial_status_bounds.height() - current_status_bounds.height()), 773 std::abs(initial_status_bounds.height() - current_status_bounds.height()),
775 small_change); 774 small_change);
776 } 775 }
777 776
778 // Makes sure the launcher is sized when the status area changes size. 777 // Makes sure the shelf is sized when the status area changes size.
779 TEST_F(ShelfLayoutManagerTest, LauncherUpdatedWhenStatusAreaChangesSize) { 778 TEST_F(ShelfLayoutManagerTest, ShelfUpdatedWhenStatusAreaChangesSize) {
780 Launcher* launcher = Launcher::ForPrimaryDisplay(); 779 Shelf* shelf = Shelf::ForPrimaryDisplay();
781 ASSERT_TRUE(launcher); 780 ASSERT_TRUE(shelf);
782 ShelfWidget* shelf_widget = GetShelfWidget(); 781 ShelfWidget* shelf_widget = GetShelfWidget();
783 ASSERT_TRUE(shelf_widget); 782 ASSERT_TRUE(shelf_widget);
784 ASSERT_TRUE(shelf_widget->status_area_widget()); 783 ASSERT_TRUE(shelf_widget->status_area_widget());
785 shelf_widget->status_area_widget()->SetBounds( 784 shelf_widget->status_area_widget()->SetBounds(
786 gfx::Rect(0, 0, 200, 200)); 785 gfx::Rect(0, 0, 200, 200));
787 EXPECT_EQ(200, shelf_widget->GetContentsView()->width() - 786 EXPECT_EQ(200, shelf_widget->GetContentsView()->width() -
788 test::LauncherTestAPI(launcher).shelf_view()->width()); 787 test::ShelfTestAPI(shelf).shelf_view()->width());
789 } 788 }
790 789
791 790
792 #if defined(OS_WIN) 791 #if defined(OS_WIN)
793 // RootWindow and Display can't resize on Windows Ash. http://crbug.com/165962 792 // RootWindow and Display can't resize on Windows Ash. http://crbug.com/165962
794 #define MAYBE_AutoHide DISABLED_AutoHide 793 #define MAYBE_AutoHide DISABLED_AutoHide
795 #else 794 #else
796 #define MAYBE_AutoHide AutoHide 795 #define MAYBE_AutoHide AutoHide
797 #endif 796 #endif
798 797
(...skipping 10 matching lines...) Expand all
809 params.bounds = gfx::Rect(0, 0, 200, 200); 808 params.bounds = gfx::Rect(0, 0, 200, 200);
810 params.context = CurrentContext(); 809 params.context = CurrentContext();
811 // Widget is now owned by the parent window. 810 // Widget is now owned by the parent window.
812 widget->Init(params); 811 widget->Init(params);
813 widget->Maximize(); 812 widget->Maximize();
814 widget->Show(); 813 widget->Show();
815 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 814 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
816 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 815 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
817 816
818 // LayoutShelf() forces the animation to completion, at which point the 817 // LayoutShelf() forces the animation to completion, at which point the
819 // launcher should go off the screen. 818 // shelf should go off the screen.
820 shelf->LayoutShelf(); 819 shelf->LayoutShelf();
821 EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideSize, 820 EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideSize,
822 GetShelfWidget()->GetWindowBoundsInScreen().y()); 821 GetShelfWidget()->GetWindowBoundsInScreen().y());
823 EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideSize, 822 EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideSize,
824 Shell::GetScreen()->GetDisplayNearestWindow( 823 Shell::GetScreen()->GetDisplayNearestWindow(
825 root).work_area().bottom()); 824 root).work_area().bottom());
826 825
827 // Move the mouse to the bottom of the screen. 826 // Move the mouse to the bottom of the screen.
828 generator.MoveMouseTo(0, root->bounds().bottom() - 1); 827 generator.MoveMouseTo(0, root->bounds().bottom() - 1);
829 828
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
970 params.context = CurrentContext(); 969 params.context = CurrentContext();
971 // Widget is now owned by the parent window. 970 // Widget is now owned by the parent window.
972 widget->Init(params); 971 widget->Init(params);
973 widget->Maximize(); 972 widget->Maximize();
974 widget->Show(); 973 widget->Show();
975 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 974 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
976 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 975 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
977 976
978 aura::Window* root = Shell::GetPrimaryRootWindow(); 977 aura::Window* root = Shell::GetPrimaryRootWindow();
979 // LayoutShelf() forces the animation to completion, at which point the 978 // LayoutShelf() forces the animation to completion, at which point the
980 // launcher should go off the screen. 979 // shelf should go off the screen.
981 shelf->LayoutShelf(); 980 shelf->LayoutShelf();
982 EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideSize, 981 EXPECT_EQ(root->bounds().bottom() - ShelfLayoutManager::kAutoHideSize,
983 GetShelfWidget()->GetWindowBoundsInScreen().y()); 982 GetShelfWidget()->GetWindowBoundsInScreen().y());
984 983
985 aura::Window* lock_container = Shell::GetContainer( 984 aura::Window* lock_container = Shell::GetContainer(
986 Shell::GetPrimaryRootWindow(), 985 Shell::GetPrimaryRootWindow(),
987 internal::kShellWindowId_LockScreenContainer); 986 internal::kShellWindowId_LockScreenContainer);
988 987
989 views::Widget* lock_widget = new views::Widget; 988 views::Widget* lock_widget = new views::Widget;
990 views::Widget::InitParams lock_params( 989 views::Widget::InitParams lock_params(
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
1190 EXPECT_EQ(0, shelf->shelf_widget()->GetDimmingAlphaForTest()); 1189 EXPECT_EQ(0, shelf->shelf_widget()->GetDimmingAlphaForTest());
1191 shelf->shelf_widget()->ForceUndimming(true); 1190 shelf->shelf_widget()->ForceUndimming(true);
1192 generator.MoveMouseTo(off_shelf.x(), off_shelf.y()); 1191 generator.MoveMouseTo(off_shelf.x(), off_shelf.y());
1193 EXPECT_EQ(0, shelf->shelf_widget()->GetDimmingAlphaForTest()); 1192 EXPECT_EQ(0, shelf->shelf_widget()->GetDimmingAlphaForTest());
1194 generator.MoveMouseTo(on_shelf.x(), on_shelf.y()); 1193 generator.MoveMouseTo(on_shelf.x(), on_shelf.y());
1195 EXPECT_EQ(0, shelf->shelf_widget()->GetDimmingAlphaForTest()); 1194 EXPECT_EQ(0, shelf->shelf_widget()->GetDimmingAlphaForTest());
1196 shelf->shelf_widget()->ForceUndimming(true); 1195 shelf->shelf_widget()->ForceUndimming(true);
1197 EXPECT_EQ(0, shelf->shelf_widget()->GetDimmingAlphaForTest()); 1196 EXPECT_EQ(0, shelf->shelf_widget()->GetDimmingAlphaForTest());
1198 } 1197 }
1199 1198
1200 // Verifies the shelf is visible when status/launcher is focused. 1199 // Verifies the shelf is visible when status/shelf is focused.
1201 TEST_F(ShelfLayoutManagerTest, VisibleWhenStatusOrLauncherFocused) { 1200 TEST_F(ShelfLayoutManagerTest, VisibleWhenStatusOrShelfFocused) {
1202 // Since ShelfLayoutManager queries for mouse location, move the mouse so 1201 // Since ShelfLayoutManager queries for mouse location, move the mouse so
1203 // it isn't over the shelf. 1202 // it isn't over the shelf.
1204 aura::test::EventGenerator generator( 1203 aura::test::EventGenerator generator(
1205 Shell::GetPrimaryRootWindow(), gfx::Point()); 1204 Shell::GetPrimaryRootWindow(), gfx::Point());
1206 generator.MoveMouseTo(0, 0); 1205 generator.MoveMouseTo(0, 0);
1207 1206
1208 ShelfLayoutManager* shelf = GetShelfLayoutManager(); 1207 ShelfLayoutManager* shelf = GetShelfLayoutManager();
1209 views::Widget* widget = new views::Widget; 1208 views::Widget* widget = new views::Widget;
1210 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); 1209 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
1211 params.bounds = gfx::Rect(0, 0, 200, 200); 1210 params.bounds = gfx::Rect(0, 0, 200, 200);
1212 params.context = CurrentContext(); 1211 params.context = CurrentContext();
1213 // Widget is now owned by the parent window. 1212 // Widget is now owned by the parent window.
1214 widget->Init(params); 1213 widget->Init(params);
1215 widget->Show(); 1214 widget->Show();
1216 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); 1215 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
1217 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); 1216 EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
1218 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 1217 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
1219 1218
1220 // Focus the launcher. Have to go through the focus cycler as normal focus 1219 // Focus the shelf. Have to go through the focus cycler as normal focus
1221 // requests to it do nothing. 1220 // requests to it do nothing.
1222 GetShelfWidget()->GetFocusCycler()->RotateFocus(FocusCycler::FORWARD); 1221 GetShelfWidget()->GetFocusCycler()->RotateFocus(FocusCycler::FORWARD);
1223 EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->auto_hide_state()); 1222 EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->auto_hide_state());
1224 1223
1225 widget->Activate(); 1224 widget->Activate();
1226 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state()); 1225 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->auto_hide_state());
1227 1226
1228 // Trying to activate the status should fail, since we only allow activating 1227 // Trying to activate the status should fail, since we only allow activating
1229 // it when the user is using the keyboard (i.e. through FocusCycler). 1228 // it when the user is using the keyboard (i.e. through FocusCycler).
1230 GetShelfWidget()->status_area_widget()->Activate(); 1229 GetShelfWidget()->status_area_widget()->Activate();
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
1397 1396
1398 // Tests SHELF_ALIGNMENT_(LEFT, RIGHT, TOP). 1397 // Tests SHELF_ALIGNMENT_(LEFT, RIGHT, TOP).
1399 TEST_F(ShelfLayoutManagerTest, MAYBE_SetAlignment) { 1398 TEST_F(ShelfLayoutManagerTest, MAYBE_SetAlignment) {
1400 ShelfLayoutManager* shelf = GetShelfLayoutManager(); 1399 ShelfLayoutManager* shelf = GetShelfLayoutManager();
1401 // Force an initial layout. 1400 // Force an initial layout.
1402 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); 1401 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
1403 shelf->LayoutShelf(); 1402 shelf->LayoutShelf();
1404 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state()); 1403 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state());
1405 1404
1406 shelf->SetAlignment(SHELF_ALIGNMENT_LEFT); 1405 shelf->SetAlignment(SHELF_ALIGNMENT_LEFT);
1407 gfx::Rect launcher_bounds( 1406 gfx::Rect shelf_bounds(
1408 GetShelfWidget()->GetWindowBoundsInScreen()); 1407 GetShelfWidget()->GetWindowBoundsInScreen());
1409 const gfx::Screen* screen = Shell::GetScreen(); 1408 const gfx::Screen* screen = Shell::GetScreen();
1410 gfx::Display display = 1409 gfx::Display display =
1411 screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow()); 1410 screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow());
1412 ASSERT_NE(-1, display.id()); 1411 ASSERT_NE(-1, display.id());
1413 EXPECT_EQ(shelf->GetIdealBounds().width(), 1412 EXPECT_EQ(shelf->GetIdealBounds().width(),
1414 display.GetWorkAreaInsets().left()); 1413 display.GetWorkAreaInsets().left());
1415 EXPECT_GE( 1414 EXPECT_GE(
1416 launcher_bounds.width(), 1415 shelf_bounds.width(),
1417 GetShelfWidget()->GetContentsView()->GetPreferredSize().width()); 1416 GetShelfWidget()->GetContentsView()->GetPreferredSize().width());
1418 EXPECT_EQ(SHELF_ALIGNMENT_LEFT, GetSystemTray()->shelf_alignment()); 1417 EXPECT_EQ(SHELF_ALIGNMENT_LEFT, GetSystemTray()->shelf_alignment());
1419 StatusAreaWidget* status_area_widget = GetShelfWidget()->status_area_widget(); 1418 StatusAreaWidget* status_area_widget = GetShelfWidget()->status_area_widget();
1420 gfx::Rect status_bounds(status_area_widget->GetWindowBoundsInScreen()); 1419 gfx::Rect status_bounds(status_area_widget->GetWindowBoundsInScreen());
1421 EXPECT_GE(status_bounds.width(), 1420 EXPECT_GE(status_bounds.width(),
1422 status_area_widget->GetContentsView()->GetPreferredSize().width()); 1421 status_area_widget->GetContentsView()->GetPreferredSize().width());
1423 EXPECT_EQ(shelf->GetIdealBounds().width(), 1422 EXPECT_EQ(shelf->GetIdealBounds().width(),
1424 display.GetWorkAreaInsets().left()); 1423 display.GetWorkAreaInsets().left());
1425 EXPECT_EQ(0, display.GetWorkAreaInsets().top()); 1424 EXPECT_EQ(0, display.GetWorkAreaInsets().top());
1426 EXPECT_EQ(0, display.GetWorkAreaInsets().bottom()); 1425 EXPECT_EQ(0, display.GetWorkAreaInsets().bottom());
1427 EXPECT_EQ(0, display.GetWorkAreaInsets().right()); 1426 EXPECT_EQ(0, display.GetWorkAreaInsets().right());
1428 EXPECT_EQ(display.bounds().x(), launcher_bounds.x()); 1427 EXPECT_EQ(display.bounds().x(), shelf_bounds.x());
1429 EXPECT_EQ(display.bounds().y(), launcher_bounds.y()); 1428 EXPECT_EQ(display.bounds().y(), shelf_bounds.y());
1430 EXPECT_EQ(display.bounds().height(), launcher_bounds.height()); 1429 EXPECT_EQ(display.bounds().height(), shelf_bounds.height());
1431 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); 1430 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
1432 display = screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow()); 1431 display = screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow());
1433 EXPECT_EQ(ShelfLayoutManager::kAutoHideSize, 1432 EXPECT_EQ(ShelfLayoutManager::kAutoHideSize,
1434 display.GetWorkAreaInsets().left()); 1433 display.GetWorkAreaInsets().left());
1435 EXPECT_EQ(ShelfLayoutManager::kAutoHideSize, display.work_area().x()); 1434 EXPECT_EQ(ShelfLayoutManager::kAutoHideSize, display.work_area().x());
1436 1435
1437 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); 1436 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
1438 shelf->SetAlignment(SHELF_ALIGNMENT_RIGHT); 1437 shelf->SetAlignment(SHELF_ALIGNMENT_RIGHT);
1439 display = screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow()); 1438 display = screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow());
1440 launcher_bounds = GetShelfWidget()->GetWindowBoundsInScreen(); 1439 shelf_bounds = GetShelfWidget()->GetWindowBoundsInScreen();
1441 display = screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow()); 1440 display = screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow());
1442 ASSERT_NE(-1, display.id()); 1441 ASSERT_NE(-1, display.id());
1443 EXPECT_EQ(shelf->GetIdealBounds().width(), 1442 EXPECT_EQ(shelf->GetIdealBounds().width(),
1444 display.GetWorkAreaInsets().right()); 1443 display.GetWorkAreaInsets().right());
1445 EXPECT_GE(launcher_bounds.width(), 1444 EXPECT_GE(shelf_bounds.width(),
1446 GetShelfWidget()->GetContentsView()->GetPreferredSize().width()); 1445 GetShelfWidget()->GetContentsView()->GetPreferredSize().width());
1447 EXPECT_EQ(SHELF_ALIGNMENT_RIGHT, GetSystemTray()->shelf_alignment()); 1446 EXPECT_EQ(SHELF_ALIGNMENT_RIGHT, GetSystemTray()->shelf_alignment());
1448 status_bounds = gfx::Rect(status_area_widget->GetWindowBoundsInScreen()); 1447 status_bounds = gfx::Rect(status_area_widget->GetWindowBoundsInScreen());
1449 EXPECT_GE(status_bounds.width(), 1448 EXPECT_GE(status_bounds.width(),
1450 status_area_widget->GetContentsView()->GetPreferredSize().width()); 1449 status_area_widget->GetContentsView()->GetPreferredSize().width());
1451 EXPECT_EQ(shelf->GetIdealBounds().width(), 1450 EXPECT_EQ(shelf->GetIdealBounds().width(),
1452 display.GetWorkAreaInsets().right()); 1451 display.GetWorkAreaInsets().right());
1453 EXPECT_EQ(0, display.GetWorkAreaInsets().top()); 1452 EXPECT_EQ(0, display.GetWorkAreaInsets().top());
1454 EXPECT_EQ(0, display.GetWorkAreaInsets().bottom()); 1453 EXPECT_EQ(0, display.GetWorkAreaInsets().bottom());
1455 EXPECT_EQ(0, display.GetWorkAreaInsets().left()); 1454 EXPECT_EQ(0, display.GetWorkAreaInsets().left());
1456 EXPECT_EQ(display.work_area().right(), launcher_bounds.x()); 1455 EXPECT_EQ(display.work_area().right(), shelf_bounds.x());
1457 EXPECT_EQ(display.bounds().y(), launcher_bounds.y()); 1456 EXPECT_EQ(display.bounds().y(), shelf_bounds.y());
1458 EXPECT_EQ(display.bounds().height(), launcher_bounds.height()); 1457 EXPECT_EQ(display.bounds().height(), shelf_bounds.height());
1459 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); 1458 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
1460 display = screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow()); 1459 display = screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow());
1461 EXPECT_EQ(ShelfLayoutManager::kAutoHideSize, 1460 EXPECT_EQ(ShelfLayoutManager::kAutoHideSize,
1462 display.GetWorkAreaInsets().right()); 1461 display.GetWorkAreaInsets().right());
1463 EXPECT_EQ(ShelfLayoutManager::kAutoHideSize, 1462 EXPECT_EQ(ShelfLayoutManager::kAutoHideSize,
1464 display.bounds().right() - display.work_area().right()); 1463 display.bounds().right() - display.work_area().right());
1465 1464
1466 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); 1465 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
1467 shelf->SetAlignment(SHELF_ALIGNMENT_TOP); 1466 shelf->SetAlignment(SHELF_ALIGNMENT_TOP);
1468 display = screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow()); 1467 display = screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow());
1469 launcher_bounds = GetShelfWidget()->GetWindowBoundsInScreen(); 1468 shelf_bounds = GetShelfWidget()->GetWindowBoundsInScreen();
1470 display = screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow()); 1469 display = screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow());
1471 ASSERT_NE(-1, display.id()); 1470 ASSERT_NE(-1, display.id());
1472 EXPECT_EQ(shelf->GetIdealBounds().height(), 1471 EXPECT_EQ(shelf->GetIdealBounds().height(),
1473 display.GetWorkAreaInsets().top()); 1472 display.GetWorkAreaInsets().top());
1474 EXPECT_GE(launcher_bounds.height(), 1473 EXPECT_GE(shelf_bounds.height(),
1475 GetShelfWidget()->GetContentsView()->GetPreferredSize().height()); 1474 GetShelfWidget()->GetContentsView()->GetPreferredSize().height());
1476 EXPECT_EQ(SHELF_ALIGNMENT_TOP, GetSystemTray()->shelf_alignment()); 1475 EXPECT_EQ(SHELF_ALIGNMENT_TOP, GetSystemTray()->shelf_alignment());
1477 status_bounds = gfx::Rect(status_area_widget->GetWindowBoundsInScreen()); 1476 status_bounds = gfx::Rect(status_area_widget->GetWindowBoundsInScreen());
1478 EXPECT_GE(status_bounds.height(), 1477 EXPECT_GE(status_bounds.height(),
1479 status_area_widget->GetContentsView()->GetPreferredSize().height()); 1478 status_area_widget->GetContentsView()->GetPreferredSize().height());
1480 EXPECT_EQ(shelf->GetIdealBounds().height(), 1479 EXPECT_EQ(shelf->GetIdealBounds().height(),
1481 display.GetWorkAreaInsets().top()); 1480 display.GetWorkAreaInsets().top());
1482 EXPECT_EQ(0, display.GetWorkAreaInsets().right()); 1481 EXPECT_EQ(0, display.GetWorkAreaInsets().right());
1483 EXPECT_EQ(0, display.GetWorkAreaInsets().bottom()); 1482 EXPECT_EQ(0, display.GetWorkAreaInsets().bottom());
1484 EXPECT_EQ(0, display.GetWorkAreaInsets().left()); 1483 EXPECT_EQ(0, display.GetWorkAreaInsets().left());
1485 EXPECT_EQ(display.work_area().y(), launcher_bounds.bottom()); 1484 EXPECT_EQ(display.work_area().y(), shelf_bounds.bottom());
1486 EXPECT_EQ(display.bounds().x(), launcher_bounds.x()); 1485 EXPECT_EQ(display.bounds().x(), shelf_bounds.x());
1487 EXPECT_EQ(display.bounds().width(), launcher_bounds.width()); 1486 EXPECT_EQ(display.bounds().width(), shelf_bounds.width());
1488 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); 1487 shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
1489 display = screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow()); 1488 display = screen->GetDisplayNearestWindow(Shell::GetPrimaryRootWindow());
1490 EXPECT_EQ(ShelfLayoutManager::kAutoHideSize, 1489 EXPECT_EQ(ShelfLayoutManager::kAutoHideSize,
1491 display.GetWorkAreaInsets().top()); 1490 display.GetWorkAreaInsets().top());
1492 EXPECT_EQ(ShelfLayoutManager::kAutoHideSize, 1491 EXPECT_EQ(ShelfLayoutManager::kAutoHideSize,
1493 display.work_area().y() - display.bounds().y()); 1492 display.work_area().y() - display.bounds().y());
1494 } 1493 }
1495 1494
1496 #if defined(OS_WIN) 1495 #if defined(OS_WIN)
1497 // RootWindow and Display can't resize on Windows Ash. http://crbug.com/165962 1496 // RootWindow and Display can't resize on Windows Ash. http://crbug.com/165962
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after
1917 shelf->SetAlignment(SHELF_ALIGNMENT_LEFT); 1916 shelf->SetAlignment(SHELF_ALIGNMENT_LEFT);
1918 EXPECT_FALSE(status_area_widget->IsMessageBubbleShown()); 1917 EXPECT_FALSE(status_area_widget->IsMessageBubbleShown());
1919 generator.ClickLeftButton(); 1918 generator.ClickLeftButton();
1920 EXPECT_TRUE(status_area_widget->IsMessageBubbleShown()); 1919 EXPECT_TRUE(status_area_widget->IsMessageBubbleShown());
1921 generator.ClickLeftButton(); 1920 generator.ClickLeftButton();
1922 EXPECT_FALSE(status_area_widget->IsMessageBubbleShown()); 1921 EXPECT_FALSE(status_area_widget->IsMessageBubbleShown());
1923 } 1922 }
1924 1923
1925 } // namespace internal 1924 } // namespace internal
1926 } // namespace ash 1925 } // namespace ash
OLDNEW
« no previous file with comments | « ash/shelf/shelf_layout_manager.cc ('k') | ash/shelf/shelf_navigator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698