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

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

Issue 2886253002: mash: remove more shell/shelf WmWindow usage. (Closed)
Patch Set: Sync and rebase. Created 3 years, 7 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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_widget.h" 5 #include "ash/shelf/shelf_widget.h"
6 6
7 #include "ash/root_window_controller.h" 7 #include "ash/root_window_controller.h"
8 #include "ash/shelf/shelf_constants.h" 8 #include "ash/shelf/shelf_constants.h"
9 #include "ash/shelf/shelf_layout_manager.h" 9 #include "ash/shelf/shelf_layout_manager.h"
10 #include "ash/shelf/shelf_view.h" 10 #include "ash/shelf/shelf_view.h"
(...skipping 21 matching lines...) Expand all
32 } 32 }
33 33
34 ShelfLayoutManager* GetShelfLayoutManager() { 34 ShelfLayoutManager* GetShelfLayoutManager() {
35 return GetShelfWidget()->shelf_layout_manager(); 35 return GetShelfWidget()->shelf_layout_manager();
36 } 36 }
37 37
38 } // namespace 38 } // namespace
39 39
40 using ShelfWidgetTest = test::AshTestBase; 40 using ShelfWidgetTest = test::AshTestBase;
41 41
42 void TestLauncherAlignment(WmWindow* root, 42 void TestLauncherAlignment(aura::Window* root,
43 ShelfAlignment alignment, 43 ShelfAlignment alignment,
44 const gfx::Rect& expected) { 44 const gfx::Rect& expected) {
45 root->GetRootWindowController()->GetShelf()->SetAlignment(alignment); 45 GetRootWindowController(root)->GetShelf()->SetAlignment(alignment);
46 EXPECT_EQ(expected.ToString(), 46 EXPECT_EQ(expected.ToString(), display::Screen::GetScreen()
47 root->GetDisplayNearestWindow().work_area().ToString()); 47 ->GetDisplayNearestWindow(root)
James Cook 2017/05/17 23:41:49 Aside: I really miss window->GetDisplayNearestWind
msw 2017/05/18 20:28:00 Ditto, I think this is worth separate consideratio
48 .work_area()
49 .ToString());
48 } 50 }
49 51
50 TEST_F(ShelfWidgetTest, TestAlignment) { 52 TEST_F(ShelfWidgetTest, TestAlignment) {
51 UpdateDisplay("400x400"); 53 UpdateDisplay("400x400");
52 { 54 {
53 SCOPED_TRACE("Single Bottom"); 55 SCOPED_TRACE("Single Bottom");
54 TestLauncherAlignment(ShellPort::Get()->GetPrimaryRootWindow(), 56 TestLauncherAlignment(Shell::GetPrimaryRootWindow(), SHELF_ALIGNMENT_BOTTOM,
55 SHELF_ALIGNMENT_BOTTOM, gfx::Rect(0, 0, 400, 352)); 57 gfx::Rect(0, 0, 400, 352));
56 } 58 }
57 { 59 {
58 SCOPED_TRACE("Single Locked"); 60 SCOPED_TRACE("Single Locked");
59 TestLauncherAlignment(ShellPort::Get()->GetPrimaryRootWindow(), 61 TestLauncherAlignment(Shell::GetPrimaryRootWindow(),
60 SHELF_ALIGNMENT_BOTTOM_LOCKED, 62 SHELF_ALIGNMENT_BOTTOM_LOCKED,
61 gfx::Rect(0, 0, 400, 352)); 63 gfx::Rect(0, 0, 400, 352));
62 } 64 }
63 { 65 {
64 SCOPED_TRACE("Single Right"); 66 SCOPED_TRACE("Single Right");
65 TestLauncherAlignment(ShellPort::Get()->GetPrimaryRootWindow(), 67 TestLauncherAlignment(Shell::GetPrimaryRootWindow(), SHELF_ALIGNMENT_RIGHT,
66 SHELF_ALIGNMENT_RIGHT, gfx::Rect(0, 0, 352, 400)); 68 gfx::Rect(0, 0, 352, 400));
67 } 69 }
68 { 70 {
69 SCOPED_TRACE("Single Left"); 71 SCOPED_TRACE("Single Left");
70 TestLauncherAlignment(ShellPort::Get()->GetPrimaryRootWindow(), 72 TestLauncherAlignment(Shell::GetPrimaryRootWindow(), SHELF_ALIGNMENT_LEFT,
71 SHELF_ALIGNMENT_LEFT,
72 gfx::Rect(kShelfSize, 0, 352, 400)); 73 gfx::Rect(kShelfSize, 0, 352, 400));
73 } 74 }
74 } 75 }
75 76
76 TEST_F(ShelfWidgetTest, TestAlignmentForMultipleDisplays) { 77 TEST_F(ShelfWidgetTest, TestAlignmentForMultipleDisplays) {
77 UpdateDisplay("300x300,500x500"); 78 UpdateDisplay("300x300,500x500");
78 std::vector<WmWindow*> root_windows = ShellPort::Get()->GetAllRootWindows(); 79 aura::Window::Windows root_windows = Shell::GetAllRootWindows();
79 { 80 {
80 SCOPED_TRACE("Primary Bottom"); 81 SCOPED_TRACE("Primary Bottom");
81 TestLauncherAlignment(root_windows[0], SHELF_ALIGNMENT_BOTTOM, 82 TestLauncherAlignment(root_windows[0], SHELF_ALIGNMENT_BOTTOM,
82 gfx::Rect(0, 0, 300, 252)); 83 gfx::Rect(0, 0, 300, 252));
83 } 84 }
84 { 85 {
85 SCOPED_TRACE("Primary Locked"); 86 SCOPED_TRACE("Primary Locked");
86 TestLauncherAlignment(root_windows[0], SHELF_ALIGNMENT_BOTTOM_LOCKED, 87 TestLauncherAlignment(root_windows[0], SHELF_ALIGNMENT_BOTTOM_LOCKED,
87 gfx::Rect(0, 0, 300, 252)); 88 gfx::Rect(0, 0, 300, 252));
88 } 89 }
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 } 146 }
146 147
147 // Verifies shelf is created with correct size after user login and when its 148 // Verifies shelf is created with correct size after user login and when its
148 // container and status widget has finished sizing. 149 // container and status widget has finished sizing.
149 // See http://crbug.com/252533 150 // See http://crbug.com/252533
150 TEST_F(ShelfWidgetTest, ShelfInitiallySizedAfterLogin) { 151 TEST_F(ShelfWidgetTest, ShelfInitiallySizedAfterLogin) {
151 SetUserLoggedIn(false); 152 SetUserLoggedIn(false);
152 UpdateDisplay("300x200,400x300"); 153 UpdateDisplay("300x200,400x300");
153 154
154 // Both displays have a shelf controller. 155 // Both displays have a shelf controller.
155 std::vector<WmWindow*> roots = ShellPort::Get()->GetAllRootWindows(); 156 aura::Window::Windows roots = Shell::GetAllRootWindows();
156 WmShelf* shelf1 = WmShelf::ForWindow(roots[0]); 157 WmShelf* shelf1 = WmShelf::ForWindow(roots[0]);
157 WmShelf* shelf2 = WmShelf::ForWindow(roots[1]); 158 WmShelf* shelf2 = WmShelf::ForWindow(roots[1]);
158 ASSERT_TRUE(shelf1); 159 ASSERT_TRUE(shelf1);
159 ASSERT_TRUE(shelf2); 160 ASSERT_TRUE(shelf2);
160 161
161 // Both shelf controllers have a shelf widget. 162 // Both shelf controllers have a shelf widget.
162 ShelfWidget* shelf_widget1 = shelf1->shelf_widget(); 163 ShelfWidget* shelf_widget1 = shelf1->shelf_widget();
163 ShelfWidget* shelf_widget2 = shelf2->shelf_widget(); 164 ShelfWidget* shelf_widget2 = shelf2->shelf_widget();
164 ASSERT_TRUE(shelf_widget1); 165 ASSERT_TRUE(shelf_widget1);
165 ASSERT_TRUE(shelf_widget2); 166 ASSERT_TRUE(shelf_widget2);
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 } 409 }
409 410
410 TEST_F(ShelfWidgetTestWithInitializer, CreateLockedShelf) { 411 TEST_F(ShelfWidgetTestWithInitializer, CreateLockedShelf) {
411 // The auto hide state 'HIDDEN' is returned for any non-auto-hide behavior. 412 // The auto hide state 'HIDDEN' is returned for any non-auto-hide behavior.
412 TestCreateShelfWithInitialValues(SHELF_ALIGNMENT_BOTTOM_LOCKED, 413 TestCreateShelfWithInitialValues(SHELF_ALIGNMENT_BOTTOM_LOCKED,
413 SHELF_AUTO_HIDE_BEHAVIOR_NEVER, 414 SHELF_AUTO_HIDE_BEHAVIOR_NEVER,
414 SHELF_VISIBLE, SHELF_AUTO_HIDE_HIDDEN); 415 SHELF_VISIBLE, SHELF_AUTO_HIDE_HIDDEN);
415 } 416 }
416 417
417 } // namespace ash 418 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698