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

Side by Side Diff: ash/wm/workspace/workspace_window_resizer_unittest.cc

Issue 11017079: Remove Shell::shelf()|status_area_widget()|launcher() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 2 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
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/wm/workspace/workspace_window_resizer.h" 5 #include "ash/wm/workspace/workspace_window_resizer.h"
6 6
7 #include "ash/display/display_controller.h" 7 #include "ash/display/display_controller.h"
8 #include "ash/display/mouse_cursor_event_filter.h" 8 #include "ash/display/mouse_cursor_event_filter.h"
9 #include "ash/root_window_controller.h"
9 #include "ash/screen_ash.h" 10 #include "ash/screen_ash.h"
10 #include "ash/shell.h" 11 #include "ash/shell.h"
11 #include "ash/shell_window_ids.h" 12 #include "ash/shell_window_ids.h"
12 #include "ash/test/ash_test_base.h" 13 #include "ash/test/ash_test_base.h"
13 #include "ash/test/cursor_manager_test_api.h" 14 #include "ash/test/cursor_manager_test_api.h"
14 #include "ash/wm/cursor_manager.h" 15 #include "ash/wm/cursor_manager.h"
15 #include "ash/wm/property_util.h" 16 #include "ash/wm/property_util.h"
16 #include "ash/wm/shelf_layout_manager.h" 17 #include "ash/wm/shelf_layout_manager.h"
17 #include "ash/wm/workspace_controller.h" 18 #include "ash/wm/workspace_controller.h"
18 #include "ash/wm/workspace/snap_sizer.h" 19 #include "ash/wm/workspace/snap_sizer.h"
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 gfx::Point location = resizer.initial_location_in_parent(); 120 gfx::Point location = resizer.initial_location_in_parent();
120 location.set_x(location.x() + delta_x); 121 location.set_x(location.x() + delta_x);
121 location.set_y(location.y() + delta_y); 122 location.set_y(location.y() + delta_y);
122 return location; 123 return location;
123 } 124 }
124 125
125 std::vector<aura::Window*> empty_windows() const { 126 std::vector<aura::Window*> empty_windows() const {
126 return std::vector<aura::Window*>(); 127 return std::vector<aura::Window*>();
127 } 128 }
128 129
130 internal::ShelfLayoutManager* shelf_layout_manager() {
131 return Shell::GetPrimaryRootWindowController()->shelf();
132 }
133
129 TestWindowDelegate delegate_; 134 TestWindowDelegate delegate_;
130 TestWindowDelegate delegate2_; 135 TestWindowDelegate delegate2_;
131 TestWindowDelegate delegate3_; 136 TestWindowDelegate delegate3_;
132 scoped_ptr<aura::Window> window_; 137 scoped_ptr<aura::Window> window_;
133 scoped_ptr<aura::Window> window2_; 138 scoped_ptr<aura::Window> window2_;
134 scoped_ptr<aura::Window> window3_; 139 scoped_ptr<aura::Window> window3_;
135 140
136 private: 141 private:
137 DISALLOW_COPY_AND_ASSIGN(WorkspaceWindowResizerTest); 142 DISALLOW_COPY_AND_ASSIGN(WorkspaceWindowResizerTest);
138 }; 143 };
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 window_->bounds().ToString()); 483 window_->bounds().ToString());
479 ASSERT_TRUE(GetRestoreBoundsInScreen(window_.get())); 484 ASSERT_TRUE(GetRestoreBoundsInScreen(window_.get()));
480 EXPECT_EQ("20,30 50x60", GetRestoreBoundsInScreen(window_.get())->ToString()); 485 EXPECT_EQ("20,30 50x60", GetRestoreBoundsInScreen(window_.get())->ToString());
481 } 486 }
482 487
483 // Verifies a window can be moved from the primary display to another. 488 // Verifies a window can be moved from the primary display to another.
484 TEST_F(WorkspaceWindowResizerTest, MAYBE_WindowDragWithMultiDisplays) { 489 TEST_F(WorkspaceWindowResizerTest, MAYBE_WindowDragWithMultiDisplays) {
485 // The secondary display is logically on the right, but on the system (e.g. X) 490 // The secondary display is logically on the right, but on the system (e.g. X)
486 // layer, it's below the primary one. See UpdateDisplay() in ash_test_base.cc. 491 // layer, it's below the primary one. See UpdateDisplay() in ash_test_base.cc.
487 UpdateDisplay("800x600,800x600"); 492 UpdateDisplay("800x600,800x600");
488 Shell::GetInstance()->shelf()->LayoutShelf(); 493 shelf_layout_manager()->LayoutShelf();
489 Shell::RootWindowList root_windows = Shell::GetAllRootWindows(); 494 Shell::RootWindowList root_windows = Shell::GetAllRootWindows();
490 ASSERT_EQ(2U, root_windows.size()); 495 ASSERT_EQ(2U, root_windows.size());
491 496
492 window_->SetBoundsInScreen(gfx::Rect(0, 0, 50, 60), 497 window_->SetBoundsInScreen(gfx::Rect(0, 0, 50, 60),
493 Shell::GetScreen()->GetPrimaryDisplay()); 498 Shell::GetScreen()->GetPrimaryDisplay());
494 EXPECT_EQ(root_windows[0], window_->GetRootWindow()); 499 EXPECT_EQ(root_windows[0], window_->GetRootWindow());
495 { 500 {
496 // Grab (0, 0) of the window. 501 // Grab (0, 0) of the window.
497 scoped_ptr<WorkspaceWindowResizer> resizer(WorkspaceWindowResizer::Create( 502 scoped_ptr<WorkspaceWindowResizer> resizer(WorkspaceWindowResizer::Create(
498 window_.get(), gfx::Point(), HTCAPTION, empty_windows())); 503 window_.get(), gfx::Point(), HTCAPTION, empty_windows()));
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
539 // root window's bounds. 544 // root window's bounds.
540 EXPECT_EQ(root_windows[1], window_->GetRootWindow()); 545 EXPECT_EQ(root_windows[1], window_->GetRootWindow());
541 EXPECT_EQ("-49,10 50x60", window_->bounds().ToString()); 546 EXPECT_EQ("-49,10 50x60", window_->bounds().ToString());
542 } 547 }
543 } 548 }
544 549
545 // Verifies a window can be moved from the secondary display to primary. 550 // Verifies a window can be moved from the secondary display to primary.
546 TEST_F(WorkspaceWindowResizerTest, 551 TEST_F(WorkspaceWindowResizerTest,
547 MAYBE_WindowDragWithMultiDisplaysRightToLeft) { 552 MAYBE_WindowDragWithMultiDisplaysRightToLeft) {
548 UpdateDisplay("800x600,800x600"); 553 UpdateDisplay("800x600,800x600");
549 Shell::GetInstance()->shelf()->LayoutShelf(); 554 shelf_layout_manager()->LayoutShelf();
550 Shell::RootWindowList root_windows = Shell::GetAllRootWindows(); 555 Shell::RootWindowList root_windows = Shell::GetAllRootWindows();
551 ASSERT_EQ(2U, root_windows.size()); 556 ASSERT_EQ(2U, root_windows.size());
552 557
553 window_->SetBoundsInScreen( 558 window_->SetBoundsInScreen(
554 gfx::Rect(800, 00, 50, 60), 559 gfx::Rect(800, 00, 50, 60),
555 Shell::GetScreen()->GetDisplayNearestWindow(root_windows[1])); 560 Shell::GetScreen()->GetDisplayNearestWindow(root_windows[1]));
556 EXPECT_EQ(root_windows[1], window_->GetRootWindow()); 561 EXPECT_EQ(root_windows[1], window_->GetRootWindow());
557 { 562 {
558 // Grab (0, 0) of the window. 563 // Grab (0, 0) of the window.
559 scoped_ptr<WorkspaceWindowResizer> resizer(WorkspaceWindowResizer::Create( 564 scoped_ptr<WorkspaceWindowResizer> resizer(WorkspaceWindowResizer::Create(
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after
997 resizer->CompleteDrag(ui::EF_CONTROL_DOWN); 1002 resizer->CompleteDrag(ui::EF_CONTROL_DOWN);
998 EXPECT_EQ("106,124 320x160", window_->bounds().ToString()); 1003 EXPECT_EQ("106,124 320x160", window_->bounds().ToString());
999 } 1004 }
1000 1005
1001 // Check that only usable sizes get returned by the resizer. 1006 // Check that only usable sizes get returned by the resizer.
1002 TEST_F(WorkspaceWindowResizerTest, TestProperSizerResolutions) { 1007 TEST_F(WorkspaceWindowResizerTest, TestProperSizerResolutions) {
1003 window_->SetBounds(gfx::Rect(96, 112, 320, 160)); 1008 window_->SetBounds(gfx::Rect(96, 112, 320, 160));
1004 scoped_ptr<SnapSizer> resizer(new SnapSizer( 1009 scoped_ptr<SnapSizer> resizer(new SnapSizer(
1005 window_.get(), gfx::Point(), SnapSizer::LEFT_EDGE)); 1010 window_.get(), gfx::Point(), SnapSizer::LEFT_EDGE));
1006 ASSERT_TRUE(resizer.get()); 1011 ASSERT_TRUE(resizer.get());
1007 Shell::GetInstance()->shelf()->SetAutoHideBehavior( 1012 shelf_layout_manager()->SetAutoHideBehavior(
1008 SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); 1013 SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS);
1009 gfx::Rect rect = resizer->GetTargetBoundsForSize(0); 1014 gfx::Rect rect = resizer->GetTargetBoundsForSize(0);
1010 EXPECT_EQ("0,0 720x597", rect.ToString()); 1015 EXPECT_EQ("0,0 720x597", rect.ToString());
1011 rect = resizer->GetTargetBoundsForSize(1); 1016 rect = resizer->GetTargetBoundsForSize(1);
1012 EXPECT_EQ("0,0 720x597", rect.ToString()); 1017 EXPECT_EQ("0,0 720x597", rect.ToString());
1013 rect = resizer->GetTargetBoundsForSize(2); 1018 rect = resizer->GetTargetBoundsForSize(2);
1014 EXPECT_EQ("0,0 720x597", rect.ToString()); 1019 EXPECT_EQ("0,0 720x597", rect.ToString());
1015 rect = resizer->GetTargetBoundsForSize(3); 1020 rect = resizer->GetTargetBoundsForSize(3);
1016 EXPECT_EQ("0,0 640x597", rect.ToString()); 1021 EXPECT_EQ("0,0 640x597", rect.ToString());
1017 Shell::GetInstance()->shelf()->SetAutoHideBehavior( 1022 shelf_layout_manager()->SetAutoHideBehavior(
1018 SHELF_AUTO_HIDE_BEHAVIOR_NEVER); 1023 SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
1019 rect = resizer->GetTargetBoundsForSize(0); 1024 rect = resizer->GetTargetBoundsForSize(0);
1020 EXPECT_EQ("0,0 720x552", rect.ToString()); 1025 EXPECT_EQ("0,0 720x552", rect.ToString());
1021 rect = resizer->GetTargetBoundsForSize(1); 1026 rect = resizer->GetTargetBoundsForSize(1);
1022 EXPECT_EQ("0,0 720x552", rect.ToString()); 1027 EXPECT_EQ("0,0 720x552", rect.ToString());
1023 rect = resizer->GetTargetBoundsForSize(2); 1028 rect = resizer->GetTargetBoundsForSize(2);
1024 EXPECT_EQ("0,0 720x552", rect.ToString()); 1029 EXPECT_EQ("0,0 720x552", rect.ToString());
1025 rect = resizer->GetTargetBoundsForSize(3); 1030 rect = resizer->GetTargetBoundsForSize(3);
1026 EXPECT_EQ("0,0 640x552", rect.ToString()); 1031 EXPECT_EQ("0,0 640x552", rect.ToString());
1027 } 1032 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1083 resizer->Drag(CalculateDragPoint(*resizer, 142, 169), 0); 1088 resizer->Drag(CalculateDragPoint(*resizer, 142, 169), 0);
1084 EXPECT_EQ("152,180 20x30", window_->bounds().ToString()); 1089 EXPECT_EQ("152,180 20x30", window_->bounds().ToString());
1085 } 1090 }
1086 1091
1087 // Verifies cursor's device scale factor is updated whe a window is moved across 1092 // Verifies cursor's device scale factor is updated whe a window is moved across
1088 // root windows with different device scale factors (http://crbug.com/154183). 1093 // root windows with different device scale factors (http://crbug.com/154183).
1089 TEST_F(WorkspaceWindowResizerTest, MAYBE_CursorDeviceScaleFactor) { 1094 TEST_F(WorkspaceWindowResizerTest, MAYBE_CursorDeviceScaleFactor) {
1090 // The secondary display is logically on the right, but on the system (e.g. X) 1095 // The secondary display is logically on the right, but on the system (e.g. X)
1091 // layer, it's below the primary one. See UpdateDisplay() in ash_test_base.cc. 1096 // layer, it's below the primary one. See UpdateDisplay() in ash_test_base.cc.
1092 UpdateDisplay("400x400,800x800*2"); 1097 UpdateDisplay("400x400,800x800*2");
1093 Shell::GetInstance()->shelf()->LayoutShelf(); 1098 shelf_layout_manager()->LayoutShelf();
1094 Shell::RootWindowList root_windows = Shell::GetAllRootWindows(); 1099 Shell::RootWindowList root_windows = Shell::GetAllRootWindows();
1095 ASSERT_EQ(2U, root_windows.size()); 1100 ASSERT_EQ(2U, root_windows.size());
1096 1101
1097 test::CursorManagerTestApi cursor_test_api( 1102 test::CursorManagerTestApi cursor_test_api(
1098 Shell::GetInstance()->cursor_manager()); 1103 Shell::GetInstance()->cursor_manager());
1099 MouseCursorEventFilter* event_filter = 1104 MouseCursorEventFilter* event_filter =
1100 Shell::GetInstance()->mouse_cursor_filter(); 1105 Shell::GetInstance()->mouse_cursor_filter();
1101 // Move window from the root window with 1.0 device scale factor to the root 1106 // Move window from the root window with 1.0 device scale factor to the root
1102 // window with 2.0 device scale factor. 1107 // window with 2.0 device scale factor.
1103 { 1108 {
(...skipping 29 matching lines...) Expand all
1133 event_filter->WarpMouseCursorIfNecessary(root_windows[1], 1138 event_filter->WarpMouseCursorIfNecessary(root_windows[1],
1134 gfx::Point(400, 200)); 1139 gfx::Point(400, 200));
1135 EXPECT_EQ(1.0f, cursor_test_api.GetDeviceScaleFactor()); 1140 EXPECT_EQ(1.0f, cursor_test_api.GetDeviceScaleFactor());
1136 resizer->CompleteDrag(0); 1141 resizer->CompleteDrag(0);
1137 EXPECT_EQ(1.0f, cursor_test_api.GetDeviceScaleFactor()); 1142 EXPECT_EQ(1.0f, cursor_test_api.GetDeviceScaleFactor());
1138 } 1143 }
1139 } 1144 }
1140 1145
1141 } // namespace internal 1146 } // namespace internal
1142 } // namespace ash 1147 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/workspace/workspace_manager2_unittest.cc ('k') | chrome/browser/chromeos/system/ash_system_tray_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698