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

Side by Side Diff: chrome/browser/ui/window_sizer/window_sizer_ash_uitest.cc

Issue 64933002: Eliminate Shell::RootWindowList in favor of aura::Window::Windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 1 month 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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/launcher/launcher.h" 5 #include "ash/launcher/launcher.h"
6 #include "ash/shelf/shelf_view.h" 6 #include "ash/shelf/shelf_view.h"
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "ash/test/launcher_test_api.h" 8 #include "ash/test/launcher_test_api.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 25 matching lines...) Expand all
36 36
37 private: 37 private:
38 DISALLOW_COPY_AND_ASSIGN(WindowSizerTest); 38 DISALLOW_COPY_AND_ASSIGN(WindowSizerTest);
39 }; 39 };
40 40
41 void CloseBrowser(Browser* browser) { 41 void CloseBrowser(Browser* browser) {
42 browser->window()->Close(); 42 browser->window()->Close();
43 base::MessageLoop::current()->RunUntilIdle(); 43 base::MessageLoop::current()->RunUntilIdle();
44 } 44 }
45 45
46 gfx::Rect GetChromeIconBoundsForRootWindow(aura::RootWindow* root_window) { 46 gfx::Rect GetChromeIconBoundsForRootWindow(aura::Window* root_window) {
47 ash::Launcher* launcher = ash::Launcher::ForWindow(root_window); 47 ash::Launcher* launcher = ash::Launcher::ForWindow(root_window);
48 const ash::internal::ShelfView* shelf_view = 48 const ash::internal::ShelfView* shelf_view =
49 ash::test::LauncherTestAPI(launcher).shelf_view(); 49 ash::test::LauncherTestAPI(launcher).shelf_view();
50 const views::ViewModel* view_model = shelf_view->view_model_for_test(); 50 const views::ViewModel* view_model = shelf_view->view_model_for_test();
51 51
52 EXPECT_EQ(2, view_model->view_size()); 52 EXPECT_EQ(2, view_model->view_size());
53 return view_model->view_at(1)->GetBoundsInScreen(); 53 return view_model->view_at(1)->GetBoundsInScreen();
54 } 54 }
55 55
56 void OpenBrowserUsingShelfOnRootWindow(aura::RootWindow* root_window) { 56 void OpenBrowserUsingShelfOnRootWindow(aura::Window* root_window) {
57 aura::test::EventGenerator generator(root_window); 57 aura::test::EventGenerator generator(root_window);
58 gfx::Point center = 58 gfx::Point center =
59 GetChromeIconBoundsForRootWindow(root_window).CenterPoint(); 59 GetChromeIconBoundsForRootWindow(root_window).CenterPoint();
60 gfx::Display display = 60 gfx::Display display =
61 ash::Shell::GetScreen()->GetDisplayNearestWindow(root_window); 61 ash::Shell::GetScreen()->GetDisplayNearestWindow(root_window);
62 const gfx::Point& origin = display.bounds().origin(); 62 const gfx::Point& origin = display.bounds().origin();
63 center.Offset(- origin.x(), - origin.y()); 63 center.Offset(- origin.x(), - origin.y());
64 generator.MoveMouseTo(center); 64 generator.MoveMouseTo(center);
65 generator.ClickLeftButton(); 65 generator.ClickLeftButton();
66 } 66 }
67 67
68 } // namespace 68 } // namespace
69 69
70 #if defined(OS_WIN) 70 #if defined(OS_WIN)
71 #define MAYBE_OpenBrowserUsingShelfOnOtherDisplay DISABLED_OpenBrowserUsingShelf OnOtherDisplay 71 #define MAYBE_OpenBrowserUsingShelfOnOtherDisplay DISABLED_OpenBrowserUsingShelf OnOtherDisplay
72 #define MAYBE_OpenBrowserUsingContextMenuOnOtherDisplay DISABLED_OpenBrowserUsin gContextMenuOnOtherDisplay 72 #define MAYBE_OpenBrowserUsingContextMenuOnOtherDisplay DISABLED_OpenBrowserUsin gContextMenuOnOtherDisplay
73 #else 73 #else
74 #define MAYBE_OpenBrowserUsingShelfOnOtherDisplay OpenBrowserUsingShelfOnOtherDi splay 74 #define MAYBE_OpenBrowserUsingShelfOnOtherDisplay OpenBrowserUsingShelfOnOtherDi splay
75 #define MAYBE_OpenBrowserUsingContextMenuOnOtherDisplay OpenBrowserUsingContextM enuOnOtherDisplay 75 #define MAYBE_OpenBrowserUsingContextMenuOnOtherDisplay OpenBrowserUsingContextM enuOnOtherDisplay
76 #endif 76 #endif
77 77
78 IN_PROC_BROWSER_TEST_F(WindowSizerTest, 78 IN_PROC_BROWSER_TEST_F(WindowSizerTest,
79 MAYBE_OpenBrowserUsingShelfOnOtherDisplay) { 79 MAYBE_OpenBrowserUsingShelfOnOtherDisplay) {
80 // Don't shutdown when closing the last browser window. 80 // Don't shutdown when closing the last browser window.
81 chrome::StartKeepAlive(); 81 chrome::StartKeepAlive();
82 82
83 ash::Shell::RootWindowList root_windows = ash::Shell::GetAllRootWindows(); 83 aura::Window::Windows root_windows = ash::Shell::GetAllRootWindows();
84 84
85 BrowserList* browser_list = 85 BrowserList* browser_list =
86 BrowserList::GetInstance(chrome::HOST_DESKTOP_TYPE_ASH); 86 BrowserList::GetInstance(chrome::HOST_DESKTOP_TYPE_ASH);
87 87
88 EXPECT_EQ(1u, browser_list->size()); 88 EXPECT_EQ(1u, browser_list->size());
89 // Close the browser window so that clicking icon will create a new window. 89 // Close the browser window so that clicking icon will create a new window.
90 CloseBrowser(browser_list->get(0)); 90 CloseBrowser(browser_list->get(0));
91 EXPECT_EQ(0u, browser_list->size()); 91 EXPECT_EQ(0u, browser_list->size());
92 EXPECT_EQ(root_windows[0], ash::Shell::GetTargetRootWindow()); 92 EXPECT_EQ(root_windows[0], ash::Shell::GetTargetRootWindow());
93 93
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 static void QuitLoop() { 143 static void QuitLoop() {
144 base::MessageLoop::current()->PostTask( 144 base::MessageLoop::current()->PostTask(
145 FROM_HERE, 145 FROM_HERE,
146 base::MessageLoop::QuitWhenIdleClosure()); 146 base::MessageLoop::QuitWhenIdleClosure());
147 } 147 }
148 148
149 private: 149 private:
150 DISALLOW_COPY_AND_ASSIGN(WindowSizerContextMenuTest); 150 DISALLOW_COPY_AND_ASSIGN(WindowSizerContextMenuTest);
151 }; 151 };
152 152
153 void OpenBrowserUsingContextMenuOnRootWindow(aura::RootWindow* root_window) { 153 void OpenBrowserUsingContextMenuOnRootWindow(aura::Window* root_window) {
154 gfx::Point chrome_icon = 154 gfx::Point chrome_icon =
155 GetChromeIconBoundsForRootWindow(root_window).CenterPoint(); 155 GetChromeIconBoundsForRootWindow(root_window).CenterPoint();
156 gfx::Point release_point = chrome_icon; 156 gfx::Point release_point = chrome_icon;
157 release_point.Offset(50, -120); 157 release_point.Offset(50, -120);
158 ui_controls::SendMouseMoveNotifyWhenDone( 158 ui_controls::SendMouseMoveNotifyWhenDone(
159 chrome_icon.x(), chrome_icon.y(), 159 chrome_icon.x(), chrome_icon.y(),
160 base::Bind(&WindowSizerContextMenuTest::Step1, release_point)); 160 base::Bind(&WindowSizerContextMenuTest::Step1, release_point));
161 base::MessageLoop::current()->Run(); 161 base::MessageLoop::current()->Run();
162 } 162 }
163 163
164 } // namespace 164 } // namespace
165 165
166 IN_PROC_BROWSER_TEST_F(WindowSizerContextMenuTest, 166 IN_PROC_BROWSER_TEST_F(WindowSizerContextMenuTest,
167 MAYBE_OpenBrowserUsingContextMenuOnOtherDisplay) { 167 MAYBE_OpenBrowserUsingContextMenuOnOtherDisplay) {
168 // Don't shutdown when closing the last browser window. 168 // Don't shutdown when closing the last browser window.
169 chrome::StartKeepAlive(); 169 chrome::StartKeepAlive();
170 170
171 views::MenuController::TurnOffMenuSelectionHoldForTest(); 171 views::MenuController::TurnOffMenuSelectionHoldForTest();
172 172
173 ash::Shell::RootWindowList root_windows = ash::Shell::GetAllRootWindows(); 173 aura::Window::Windows root_windows = ash::Shell::GetAllRootWindows();
174 174
175 BrowserList* browser_list = 175 BrowserList* browser_list =
176 BrowserList::GetInstance(chrome::HOST_DESKTOP_TYPE_ASH); 176 BrowserList::GetInstance(chrome::HOST_DESKTOP_TYPE_ASH);
177 177
178 EXPECT_EQ(1u, browser_list->size()); 178 EXPECT_EQ(1u, browser_list->size());
179 EXPECT_EQ(root_windows[0], ash::Shell::GetTargetRootWindow()); 179 EXPECT_EQ(root_windows[0], ash::Shell::GetTargetRootWindow());
180 CloseBrowser(browser_list->get(0)); 180 CloseBrowser(browser_list->get(0));
181 181
182 OpenBrowserUsingContextMenuOnRootWindow(root_windows[1]); 182 OpenBrowserUsingContextMenuOnRootWindow(root_windows[1]);
183 183
184 // A new browser must be created on 2nd display. 184 // A new browser must be created on 2nd display.
185 EXPECT_EQ(1u, browser_list->size()); 185 EXPECT_EQ(1u, browser_list->size());
186 EXPECT_EQ(root_windows[1], 186 EXPECT_EQ(root_windows[1],
187 browser_list->get(0)->window()->GetNativeWindow()->GetRootWindow()); 187 browser_list->get(0)->window()->GetNativeWindow()->GetRootWindow());
188 EXPECT_EQ(root_windows[1], ash::Shell::GetTargetRootWindow()); 188 EXPECT_EQ(root_windows[1], ash::Shell::GetTargetRootWindow());
189 189
190 OpenBrowserUsingContextMenuOnRootWindow(root_windows[0]); 190 OpenBrowserUsingContextMenuOnRootWindow(root_windows[0]);
191 191
192 // Next new browser must be created on 1st display. 192 // Next new browser must be created on 1st display.
193 EXPECT_EQ(2u, browser_list->size()); 193 EXPECT_EQ(2u, browser_list->size());
194 EXPECT_EQ(root_windows[0], 194 EXPECT_EQ(root_windows[0],
195 browser_list->get(1)->window()->GetNativeWindow()->GetRootWindow()); 195 browser_list->get(1)->window()->GetNativeWindow()->GetRootWindow());
196 EXPECT_EQ(root_windows[0], ash::Shell::GetTargetRootWindow()); 196 EXPECT_EQ(root_windows[0], ash::Shell::GetTargetRootWindow());
197 197
198 // Balanced with the chrome::StartKeepAlive above. 198 // Balanced with the chrome::StartKeepAlive above.
199 chrome::EndKeepAlive(); 199 chrome::EndKeepAlive();
200 } 200 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698