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: ash/display/display_controller_unittest.cc

Issue 11030017: Add context to gfx::Screen calls in support of simultaneous desktop+ash (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix some new gfx::Screen additions 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/display/display_controller.h" 5 #include "ash/display/display_controller.h"
6 6
7 #include "ash/launcher/launcher.h" 7 #include "ash/launcher/launcher.h"
8 #include "ash/screen_ash.h" 8 #include "ash/screen_ash.h"
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/test/ash_test_base.h" 10 #include "ash/test/ash_test_base.h"
(...skipping 29 matching lines...) Expand all
40 return c; 40 return c;
41 } 41 }
42 42
43 private: 43 private:
44 int count_; 44 int count_;
45 45
46 DISALLOW_COPY_AND_ASSIGN(TestObserver); 46 DISALLOW_COPY_AND_ASSIGN(TestObserver);
47 }; 47 };
48 48
49 gfx::Display GetPrimaryDisplay() { 49 gfx::Display GetPrimaryDisplay() {
50 return gfx::Screen::GetDisplayNearestWindow( 50 return Shell::GetAshScreen()->GetDisplayNearestWindow(
51 Shell::GetAllRootWindows()[0]); 51 Shell::GetAllRootWindows()[0]);
52 } 52 }
53 53
54 gfx::Display GetSecondaryDisplay() { 54 gfx::Display GetSecondaryDisplay() {
55 return gfx::Screen::GetDisplayNearestWindow( 55 return Shell::GetAshScreen()->GetDisplayNearestWindow(
56 Shell::GetAllRootWindows()[1]); 56 Shell::GetAllRootWindows()[1]);
57 } 57 }
58 58
59 void SetSecondaryDisplayLayout(DisplayLayout::Position position) { 59 void SetSecondaryDisplayLayout(DisplayLayout::Position position) {
60 DisplayController* display_controller = 60 DisplayController* display_controller =
61 Shell::GetInstance()->display_controller(); 61 Shell::GetInstance()->display_controller();
62 DisplayLayout layout = display_controller->default_display_layout(); 62 DisplayLayout layout = display_controller->default_display_layout();
63 layout.position = position; 63 layout.position = position;
64 display_controller->SetDefaultDisplayLayout(layout); 64 display_controller->SetDefaultDisplayLayout(layout);
65 } 65 }
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 139
140 UpdateDisplay("400x400,300x300"); 140 UpdateDisplay("400x400,300x300");
141 EXPECT_EQ(1, observer.CountAndReset()); 141 EXPECT_EQ(1, observer.CountAndReset());
142 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString()); 142 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString());
143 EXPECT_EQ("0,400 300x300", GetSecondaryDisplay().bounds().ToString()); 143 EXPECT_EQ("0,400 300x300", GetSecondaryDisplay().bounds().ToString());
144 EXPECT_EQ("5,405 290x290", GetSecondaryDisplay().work_area().ToString()); 144 EXPECT_EQ("5,405 290x290", GetSecondaryDisplay().work_area().ToString());
145 145
146 UpdateDisplay("400x400"); 146 UpdateDisplay("400x400");
147 EXPECT_EQ(1, observer.CountAndReset()); 147 EXPECT_EQ(1, observer.CountAndReset());
148 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString()); 148 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString());
149 EXPECT_EQ(1, gfx::Screen::GetNumDisplays()); 149 EXPECT_EQ(1, Shell::GetAshScreen()->GetNumDisplays());
150 150
151 UpdateDisplay("500x500,700x700"); 151 UpdateDisplay("500x500,700x700");
152 EXPECT_EQ(2, observer.CountAndReset()); 152 EXPECT_EQ(2, observer.CountAndReset());
153 ASSERT_EQ(2, gfx::Screen::GetNumDisplays()); 153 ASSERT_EQ(2, Shell::GetAshScreen()->GetNumDisplays());
154 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); 154 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString());
155 EXPECT_EQ("0,500 700x700", GetSecondaryDisplay().bounds().ToString()); 155 EXPECT_EQ("0,500 700x700", GetSecondaryDisplay().bounds().ToString());
156 } 156 }
157 157
158 TEST_F(DisplayControllerTest, InvertLayout) { 158 TEST_F(DisplayControllerTest, InvertLayout) {
159 EXPECT_EQ("left, 0", 159 EXPECT_EQ("left, 0",
160 DisplayLayout(DisplayLayout::RIGHT, 0).Invert().ToString()); 160 DisplayLayout(DisplayLayout::RIGHT, 0).Invert().ToString());
161 EXPECT_EQ("left, -100", 161 EXPECT_EQ("left, -100",
162 DisplayLayout(DisplayLayout::RIGHT, 100).Invert().ToString()); 162 DisplayLayout(DisplayLayout::RIGHT, 100).Invert().ToString());
163 EXPECT_EQ("left, 50", 163 EXPECT_EQ("left, 50",
(...skipping 19 matching lines...) Expand all
183 DisplayLayout(DisplayLayout::BOTTOM, 70).Invert().ToString()); 183 DisplayLayout(DisplayLayout::BOTTOM, 70).Invert().ToString());
184 EXPECT_EQ("top, 80", 184 EXPECT_EQ("top, 80",
185 DisplayLayout(DisplayLayout::BOTTOM, -80).Invert().ToString()); 185 DisplayLayout(DisplayLayout::BOTTOM, -80).Invert().ToString());
186 } 186 }
187 187
188 TEST_F(DisplayControllerTest, SwapPrimary) { 188 TEST_F(DisplayControllerTest, SwapPrimary) {
189 DisplayController* display_controller = 189 DisplayController* display_controller =
190 Shell::GetInstance()->display_controller(); 190 Shell::GetInstance()->display_controller();
191 191
192 UpdateDisplay("200x200,300x300"); 192 UpdateDisplay("200x200,300x300");
193 gfx::Display primary_display = gfx::Screen::GetPrimaryDisplay(); 193 gfx::Display primary_display = Shell::GetAshScreen()->GetPrimaryDisplay();
194 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay(); 194 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay();
195 195
196 std::string secondary_name = aura::Env::GetInstance()-> 196 std::string secondary_name = aura::Env::GetInstance()->
197 display_manager()->GetDisplayNameFor(secondary_display); 197 display_manager()->GetDisplayNameFor(secondary_display);
198 DisplayLayout secondary_layout(DisplayLayout::RIGHT, 50); 198 DisplayLayout secondary_layout(DisplayLayout::RIGHT, 50);
199 display_controller->SetLayoutForDisplayName(secondary_name, secondary_layout); 199 display_controller->SetLayoutForDisplayName(secondary_name, secondary_layout);
200 200
201 EXPECT_NE(primary_display.id(), secondary_display.id()); 201 EXPECT_NE(primary_display.id(), secondary_display.id());
202 aura::RootWindow* primary_root = 202 aura::RootWindow* primary_root =
203 display_controller->GetRootWindowForDisplayId(primary_display.id()); 203 display_controller->GetRootWindowForDisplayId(primary_display.id());
204 aura::RootWindow* secondary_root = 204 aura::RootWindow* secondary_root =
205 display_controller->GetRootWindowForDisplayId(secondary_display.id()); 205 display_controller->GetRootWindowForDisplayId(secondary_display.id());
206 EXPECT_NE(primary_root, secondary_root); 206 EXPECT_NE(primary_root, secondary_root);
207 aura::Window* launcher_window = 207 aura::Window* launcher_window =
208 Shell::GetInstance()->launcher()->widget()->GetNativeView(); 208 Shell::GetInstance()->launcher()->widget()->GetNativeView();
209 EXPECT_TRUE(primary_root->Contains(launcher_window)); 209 EXPECT_TRUE(primary_root->Contains(launcher_window));
210 EXPECT_FALSE(secondary_root->Contains(launcher_window)); 210 EXPECT_FALSE(secondary_root->Contains(launcher_window));
211 EXPECT_EQ(primary_display.id(), 211 EXPECT_EQ(primary_display.id(),
212 gfx::Screen::GetDisplayNearestPoint(gfx::Point(-100, -100)).id()); 212 Shell::GetAshScreen()->GetDisplayNearestPoint(
213 gfx::Point(-100, -100)).id());
213 EXPECT_EQ(primary_display.id(), 214 EXPECT_EQ(primary_display.id(),
214 gfx::Screen::GetDisplayNearestWindow(NULL).id()); 215 Shell::GetAshScreen()->GetDisplayNearestWindow(NULL).id());
215 216
216 // Switch primary and secondary 217 // Switch primary and secondary
217 display_controller->SetPrimaryDisplay(secondary_display); 218 display_controller->SetPrimaryDisplay(secondary_display);
218 EXPECT_EQ(secondary_display.id(), gfx::Screen::GetPrimaryDisplay().id()); 219 EXPECT_EQ(secondary_display.id(),
220 Shell::GetAshScreen()->GetPrimaryDisplay().id());
219 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id()); 221 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id());
220 EXPECT_EQ(secondary_display.id(), 222 EXPECT_EQ(secondary_display.id(),
221 gfx::Screen::GetDisplayNearestPoint(gfx::Point(-100, -100)).id()); 223 Shell::GetAshScreen()->GetDisplayNearestPoint(
224 gfx::Point(-100, -100)).id());
222 EXPECT_EQ(secondary_display.id(), 225 EXPECT_EQ(secondary_display.id(),
223 gfx::Screen::GetDisplayNearestWindow(NULL).id()); 226 Shell::GetAshScreen()->GetDisplayNearestWindow(NULL).id());
224 227
225 EXPECT_EQ( 228 EXPECT_EQ(
226 primary_root, 229 primary_root,
227 display_controller->GetRootWindowForDisplayId(secondary_display.id())); 230 display_controller->GetRootWindowForDisplayId(secondary_display.id()));
228 EXPECT_EQ( 231 EXPECT_EQ(
229 secondary_root, 232 secondary_root,
230 display_controller->GetRootWindowForDisplayId(primary_display.id())); 233 display_controller->GetRootWindowForDisplayId(primary_display.id()));
231 EXPECT_TRUE(primary_root->Contains(launcher_window)); 234 EXPECT_TRUE(primary_root->Contains(launcher_window));
232 EXPECT_FALSE(secondary_root->Contains(launcher_window)); 235 EXPECT_FALSE(secondary_root->Contains(launcher_window));
233 236
234 const DisplayLayout& inverted_layout = 237 const DisplayLayout& inverted_layout =
235 display_controller->GetLayoutForDisplay(primary_display); 238 display_controller->GetLayoutForDisplay(primary_display);
236 239
237 EXPECT_EQ("left, -50", inverted_layout.ToString()); 240 EXPECT_EQ("left, -50", inverted_layout.ToString());
238 241
239 aura::WindowTracker tracker; 242 aura::WindowTracker tracker;
240 tracker.Add(primary_root); 243 tracker.Add(primary_root);
241 tracker.Add(secondary_root); 244 tracker.Add(secondary_root);
242 245
243 // Deleting 2nd display should move the primary to original primary display. 246 // Deleting 2nd display should move the primary to original primary display.
244 UpdateDisplay("200x200"); 247 UpdateDisplay("200x200");
245 RunAllPendingInMessageLoop(); // RootWindow is deleted in a posted task. 248 RunAllPendingInMessageLoop(); // RootWindow is deleted in a posted task.
246 EXPECT_EQ(1, gfx::Screen::GetNumDisplays()); 249 EXPECT_EQ(1, Shell::GetAshScreen()->GetNumDisplays());
247 EXPECT_EQ(primary_display.id(), gfx::Screen::GetPrimaryDisplay().id());
248 EXPECT_EQ(primary_display.id(), 250 EXPECT_EQ(primary_display.id(),
249 gfx::Screen::GetDisplayNearestPoint(gfx::Point(-100, -100)).id()); 251 Shell::GetAshScreen()->GetPrimaryDisplay().id());
250 EXPECT_EQ(primary_display.id(), 252 EXPECT_EQ(primary_display.id(),
251 gfx::Screen::GetDisplayNearestWindow(NULL).id()); 253 Shell::GetAshScreen()->GetDisplayNearestPoint(
254 gfx::Point(-100, -100)).id());
255 EXPECT_EQ(primary_display.id(),
256 Shell::GetAshScreen()->GetDisplayNearestWindow(NULL).id());
252 EXPECT_TRUE(tracker.Contains(primary_root)); 257 EXPECT_TRUE(tracker.Contains(primary_root));
253 EXPECT_FALSE(tracker.Contains(secondary_root)); 258 EXPECT_FALSE(tracker.Contains(secondary_root));
254 EXPECT_TRUE(primary_root->Contains(launcher_window)); 259 EXPECT_TRUE(primary_root->Contains(launcher_window));
255 } 260 }
256 261
257 TEST_F(DisplayControllerTest, SwapPrimaryById) { 262 TEST_F(DisplayControllerTest, SwapPrimaryById) {
258 DisplayController* display_controller = 263 DisplayController* display_controller =
259 Shell::GetInstance()->display_controller(); 264 Shell::GetInstance()->display_controller();
260 265
261 UpdateDisplay("200x200,300x300"); 266 UpdateDisplay("200x200,300x300");
262 gfx::Display primary_display = gfx::Screen::GetPrimaryDisplay(); 267 gfx::Display primary_display = Shell::GetAshScreen()->GetPrimaryDisplay();
263 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay(); 268 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay();
264 269
265 std::string secondary_name = aura::Env::GetInstance()-> 270 std::string secondary_name = aura::Env::GetInstance()->
266 display_manager()->GetDisplayNameFor(secondary_display); 271 display_manager()->GetDisplayNameFor(secondary_display);
267 DisplayLayout secondary_layout(DisplayLayout::RIGHT, 50); 272 DisplayLayout secondary_layout(DisplayLayout::RIGHT, 50);
268 display_controller->SetLayoutForDisplayName(secondary_name, secondary_layout); 273 display_controller->SetLayoutForDisplayName(secondary_name, secondary_layout);
269 274
270 EXPECT_NE(primary_display.id(), secondary_display.id()); 275 EXPECT_NE(primary_display.id(), secondary_display.id());
271 aura::RootWindow* primary_root = 276 aura::RootWindow* primary_root =
272 display_controller->GetRootWindowForDisplayId(primary_display.id()); 277 display_controller->GetRootWindowForDisplayId(primary_display.id());
273 aura::RootWindow* secondary_root = 278 aura::RootWindow* secondary_root =
274 display_controller->GetRootWindowForDisplayId(secondary_display.id()); 279 display_controller->GetRootWindowForDisplayId(secondary_display.id());
275 aura::Window* launcher_window = 280 aura::Window* launcher_window =
276 Shell::GetInstance()->launcher()->widget()->GetNativeView(); 281 Shell::GetInstance()->launcher()->widget()->GetNativeView();
277 EXPECT_TRUE(primary_root->Contains(launcher_window)); 282 EXPECT_TRUE(primary_root->Contains(launcher_window));
278 EXPECT_FALSE(secondary_root->Contains(launcher_window)); 283 EXPECT_FALSE(secondary_root->Contains(launcher_window));
279 EXPECT_NE(primary_root, secondary_root); 284 EXPECT_NE(primary_root, secondary_root);
280 EXPECT_EQ(primary_display.id(), 285 EXPECT_EQ(primary_display.id(),
281 gfx::Screen::GetDisplayNearestPoint(gfx::Point(-100, -100)).id()); 286 Shell::GetAshScreen()->GetDisplayNearestPoint(
287 gfx::Point(-100, -100)).id());
282 EXPECT_EQ(primary_display.id(), 288 EXPECT_EQ(primary_display.id(),
283 gfx::Screen::GetDisplayNearestWindow(NULL).id()); 289 Shell::GetAshScreen()->GetDisplayNearestWindow(NULL).id());
284 290
285 // Switch primary and secondary by display ID. 291 // Switch primary and secondary by display ID.
286 TestObserver observer; 292 TestObserver observer;
287 display_controller->SetPrimaryDisplayId(secondary_display.id()); 293 display_controller->SetPrimaryDisplayId(secondary_display.id());
288 EXPECT_EQ(secondary_display.id(), gfx::Screen::GetPrimaryDisplay().id()); 294 EXPECT_EQ(secondary_display.id(),
295 Shell::GetAshScreen()->GetPrimaryDisplay().id());
289 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id()); 296 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id());
290 EXPECT_LT(0, observer.CountAndReset()); 297 EXPECT_LT(0, observer.CountAndReset());
291 298
292 EXPECT_EQ( 299 EXPECT_EQ(
293 primary_root, 300 primary_root,
294 display_controller->GetRootWindowForDisplayId(secondary_display.id())); 301 display_controller->GetRootWindowForDisplayId(secondary_display.id()));
295 EXPECT_EQ( 302 EXPECT_EQ(
296 secondary_root, 303 secondary_root,
297 display_controller->GetRootWindowForDisplayId(primary_display.id())); 304 display_controller->GetRootWindowForDisplayId(primary_display.id()));
298 EXPECT_TRUE(primary_root->Contains(launcher_window)); 305 EXPECT_TRUE(primary_root->Contains(launcher_window));
299 EXPECT_FALSE(secondary_root->Contains(launcher_window)); 306 EXPECT_FALSE(secondary_root->Contains(launcher_window));
300 307
301 const DisplayLayout& inverted_layout = 308 const DisplayLayout& inverted_layout =
302 display_controller->GetLayoutForDisplay(primary_display); 309 display_controller->GetLayoutForDisplay(primary_display);
303 310
304 EXPECT_EQ("left, -50", inverted_layout.ToString()); 311 EXPECT_EQ("left, -50", inverted_layout.ToString());
305 312
306 // Calling the same ID don't do anything. 313 // Calling the same ID don't do anything.
307 display_controller->SetPrimaryDisplayId(secondary_display.id()); 314 display_controller->SetPrimaryDisplayId(secondary_display.id());
308 EXPECT_EQ(0, observer.CountAndReset()); 315 EXPECT_EQ(0, observer.CountAndReset());
309 316
310 aura::WindowTracker tracker; 317 aura::WindowTracker tracker;
311 tracker.Add(primary_root); 318 tracker.Add(primary_root);
312 tracker.Add(secondary_root); 319 tracker.Add(secondary_root);
313 320
314 // Deleting 2nd display should move the primary to original primary display. 321 // Deleting 2nd display should move the primary to original primary display.
315 UpdateDisplay("200x200"); 322 UpdateDisplay("200x200");
316 RunAllPendingInMessageLoop(); // RootWindow is deleted in a posted task. 323 RunAllPendingInMessageLoop(); // RootWindow is deleted in a posted task.
317 EXPECT_EQ(1, gfx::Screen::GetNumDisplays()); 324 EXPECT_EQ(1, Shell::GetAshScreen()->GetNumDisplays());
318 EXPECT_EQ(primary_display.id(), gfx::Screen::GetPrimaryDisplay().id());
319 EXPECT_EQ(primary_display.id(), 325 EXPECT_EQ(primary_display.id(),
320 gfx::Screen::GetDisplayNearestPoint(gfx::Point(-100, -100)).id()); 326 Shell::GetAshScreen()->GetPrimaryDisplay().id());
321 EXPECT_EQ(primary_display.id(), 327 EXPECT_EQ(primary_display.id(),
322 gfx::Screen::GetDisplayNearestWindow(NULL).id()); 328 Shell::GetAshScreen()->GetDisplayNearestPoint(
329 gfx::Point(-100, -100)).id());
330 EXPECT_EQ(primary_display.id(),
331 Shell::GetAshScreen()->GetDisplayNearestWindow(NULL).id());
323 EXPECT_TRUE(tracker.Contains(primary_root)); 332 EXPECT_TRUE(tracker.Contains(primary_root));
324 EXPECT_FALSE(tracker.Contains(secondary_root)); 333 EXPECT_FALSE(tracker.Contains(secondary_root));
325 EXPECT_TRUE(primary_root->Contains(launcher_window)); 334 EXPECT_TRUE(primary_root->Contains(launcher_window));
326 335
327 // Adding 2nd display with the same ID. The 2nd display should become primary 336 // Adding 2nd display with the same ID. The 2nd display should become primary
328 // since secondary id is still stored as desirable_primary_id. 337 // since secondary id is still stored as desirable_primary_id.
329 std::vector<gfx::Display> displays; 338 std::vector<gfx::Display> displays;
330 displays.push_back(primary_display); 339 displays.push_back(primary_display);
331 displays.push_back(secondary_display); 340 displays.push_back(secondary_display);
332 aura::DisplayManager* display_manager = 341 aura::DisplayManager* display_manager =
333 aura::Env::GetInstance()->display_manager(); 342 aura::Env::GetInstance()->display_manager();
334 display_manager->OnNativeDisplaysChanged(displays); 343 display_manager->OnNativeDisplaysChanged(displays);
335 344
336 EXPECT_EQ(2, gfx::Screen::GetNumDisplays()); 345 EXPECT_EQ(2, Shell::GetAshScreen()->GetNumDisplays());
337 EXPECT_EQ(secondary_display.id(), gfx::Screen::GetPrimaryDisplay().id()); 346 EXPECT_EQ(secondary_display.id(),
347 Shell::GetAshScreen()->GetPrimaryDisplay().id());
338 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id()); 348 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id());
339 EXPECT_EQ( 349 EXPECT_EQ(
340 primary_root, 350 primary_root,
341 display_controller->GetRootWindowForDisplayId(secondary_display.id())); 351 display_controller->GetRootWindowForDisplayId(secondary_display.id()));
342 EXPECT_NE( 352 EXPECT_NE(
343 primary_root, 353 primary_root,
344 display_controller->GetRootWindowForDisplayId(primary_display.id())); 354 display_controller->GetRootWindowForDisplayId(primary_display.id()));
345 EXPECT_TRUE(primary_root->Contains(launcher_window)); 355 EXPECT_TRUE(primary_root->Contains(launcher_window));
346 356
347 // Deleting 2nd display and adding 2nd display with a different ID. The 2nd 357 // Deleting 2nd display and adding 2nd display with a different ID. The 2nd
348 // display shouldn't become primary. 358 // display shouldn't become primary.
349 UpdateDisplay("200x200"); 359 UpdateDisplay("200x200");
350 std::vector<gfx::Display> displays2; 360 std::vector<gfx::Display> displays2;
351 gfx::Display third_display( 361 gfx::Display third_display(
352 secondary_display.id() + 1, secondary_display.bounds()); 362 secondary_display.id() + 1, secondary_display.bounds());
353 ASSERT_NE(primary_display.id(), third_display.id()); 363 ASSERT_NE(primary_display.id(), third_display.id());
354 displays2.push_back(primary_display); 364 displays2.push_back(primary_display);
355 displays2.push_back(third_display); 365 displays2.push_back(third_display);
356 display_manager->OnNativeDisplaysChanged(displays2); 366 display_manager->OnNativeDisplaysChanged(displays2);
357 EXPECT_EQ(2, gfx::Screen::GetNumDisplays()); 367 EXPECT_EQ(2, Shell::GetAshScreen()->GetNumDisplays());
358 EXPECT_EQ(primary_display.id(), gfx::Screen::GetPrimaryDisplay().id()); 368 EXPECT_EQ(primary_display.id(),
369 Shell::GetAshScreen()->GetPrimaryDisplay().id());
359 EXPECT_EQ(third_display.id(), ScreenAsh::GetSecondaryDisplay().id()); 370 EXPECT_EQ(third_display.id(), ScreenAsh::GetSecondaryDisplay().id());
360 EXPECT_EQ( 371 EXPECT_EQ(
361 primary_root, 372 primary_root,
362 display_controller->GetRootWindowForDisplayId(primary_display.id())); 373 display_controller->GetRootWindowForDisplayId(primary_display.id()));
363 EXPECT_NE( 374 EXPECT_NE(
364 primary_root, 375 primary_root,
365 display_controller->GetRootWindowForDisplayId(third_display.id())); 376 display_controller->GetRootWindowForDisplayId(third_display.id()));
366 EXPECT_TRUE(primary_root->Contains(launcher_window)); 377 EXPECT_TRUE(primary_root->Contains(launcher_window));
367 } 378 }
368 379
369 TEST_F(DisplayControllerTest, MAYBE_UpdateDisplayWithHostOrigin) { 380 TEST_F(DisplayControllerTest, MAYBE_UpdateDisplayWithHostOrigin) {
370 UpdateDisplay("100x200,300x400"); 381 UpdateDisplay("100x200,300x400");
371 ASSERT_EQ(2, gfx::Screen::GetNumDisplays()); 382 ASSERT_EQ(2, Shell::GetAshScreen()->GetNumDisplays());
372 Shell::RootWindowList root_windows = 383 Shell::RootWindowList root_windows =
373 Shell::GetInstance()->GetAllRootWindows(); 384 Shell::GetInstance()->GetAllRootWindows();
374 ASSERT_EQ(2U, root_windows.size()); 385 ASSERT_EQ(2U, root_windows.size());
375 EXPECT_EQ("0,0", root_windows[0]->GetHostOrigin().ToString()); 386 EXPECT_EQ("0,0", root_windows[0]->GetHostOrigin().ToString());
376 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString()); 387 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString());
377 // UpdateDisplay set the origin if it's not set. 388 // UpdateDisplay set the origin if it's not set.
378 EXPECT_NE("0,0", root_windows[1]->GetHostOrigin().ToString()); 389 EXPECT_NE("0,0", root_windows[1]->GetHostOrigin().ToString());
379 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString()); 390 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString());
380 391
381 UpdateDisplay("100x200,200+300-300x400"); 392 UpdateDisplay("100x200,200+300-300x400");
382 ASSERT_EQ(2, gfx::Screen::GetNumDisplays()); 393 ASSERT_EQ(2, Shell::GetAshScreen()->GetNumDisplays());
383 EXPECT_EQ("0,0", root_windows[0]->GetHostOrigin().ToString()); 394 EXPECT_EQ("0,0", root_windows[0]->GetHostOrigin().ToString());
384 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString()); 395 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString());
385 EXPECT_EQ("200,300", root_windows[1]->GetHostOrigin().ToString()); 396 EXPECT_EQ("200,300", root_windows[1]->GetHostOrigin().ToString());
386 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString()); 397 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString());
387 398
388 UpdateDisplay("400+500-200x300,300x400"); 399 UpdateDisplay("400+500-200x300,300x400");
389 ASSERT_EQ(2, gfx::Screen::GetNumDisplays()); 400 ASSERT_EQ(2, Shell::GetAshScreen()->GetNumDisplays());
390 EXPECT_EQ("400,500", root_windows[0]->GetHostOrigin().ToString()); 401 EXPECT_EQ("400,500", root_windows[0]->GetHostOrigin().ToString());
391 EXPECT_EQ("200x300", root_windows[0]->GetHostSize().ToString()); 402 EXPECT_EQ("200x300", root_windows[0]->GetHostSize().ToString());
392 EXPECT_EQ("0,0", root_windows[1]->GetHostOrigin().ToString()); 403 EXPECT_EQ("0,0", root_windows[1]->GetHostOrigin().ToString());
393 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString()); 404 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString());
394 405
395 UpdateDisplay("100+200-100x200,300+500-200x300"); 406 UpdateDisplay("100+200-100x200,300+500-200x300");
396 ASSERT_EQ(2, gfx::Screen::GetNumDisplays()); 407 ASSERT_EQ(2, Shell::GetAshScreen()->GetNumDisplays());
397 EXPECT_EQ("100,200", root_windows[0]->GetHostOrigin().ToString()); 408 EXPECT_EQ("100,200", root_windows[0]->GetHostOrigin().ToString());
398 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString()); 409 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString());
399 EXPECT_EQ("300,500", root_windows[1]->GetHostOrigin().ToString()); 410 EXPECT_EQ("300,500", root_windows[1]->GetHostOrigin().ToString());
400 EXPECT_EQ("200x300", root_windows[1]->GetHostSize().ToString()); 411 EXPECT_EQ("200x300", root_windows[1]->GetHostSize().ToString());
401 } 412 }
402 413
403 } // namespace test 414 } // namespace test
404 } // namespace ash 415 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698