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

Side by Side Diff: ash/display/window_tree_host_manager_unittest.cc

Issue 1838833002: Move DisplayLayout and DisplayLayoutBuilder From ash To ui/display (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@screenwinmove
Patch Set: Fix comment Created 4 years, 8 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
« no previous file with comments | « ash/display/window_tree_host_manager.cc ('k') | ash/extended_desktop_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/display/window_tree_host_manager.h" 5 #include "ash/display/window_tree_host_manager.h"
6 6
7 #include "ash/ash_switches.h" 7 #include "ash/ash_switches.h"
8 #include "ash/display/display_info.h" 8 #include "ash/display/display_info.h"
9 #include "ash/display/display_layout_store.h" 9 #include "ash/display/display_layout_store.h"
10 #include "ash/display/display_manager.h" 10 #include "ash/display/display_manager.h"
11 #include "ash/display/display_util.h" 11 #include "ash/display/display_util.h"
12 #include "ash/screen_util.h" 12 #include "ash/screen_util.h"
13 #include "ash/shelf/shelf.h" 13 #include "ash/shelf/shelf.h"
14 #include "ash/shelf/shelf_widget.h" 14 #include "ash/shelf/shelf_widget.h"
15 #include "ash/shell.h" 15 #include "ash/shell.h"
16 #include "ash/test/ash_test_base.h" 16 #include "ash/test/ash_test_base.h"
17 #include "ash/test/ash_test_helper.h" 17 #include "ash/test/ash_test_helper.h"
18 #include "ash/test/cursor_manager_test_api.h" 18 #include "ash/test/cursor_manager_test_api.h"
19 #include "ash/test/display_manager_test_api.h" 19 #include "ash/test/display_manager_test_api.h"
20 #include "ash/test/test_shell_delegate.h" 20 #include "ash/test/test_shell_delegate.h"
21 #include "ash/wm/window_state.h" 21 #include "ash/wm/window_state.h"
22 #include "ash/wm/wm_event.h" 22 #include "ash/wm/wm_event.h"
23 #include "base/command_line.h" 23 #include "base/command_line.h"
24 #include "ui/aura/client/focus_change_observer.h" 24 #include "ui/aura/client/focus_change_observer.h"
25 #include "ui/aura/client/focus_client.h" 25 #include "ui/aura/client/focus_client.h"
26 #include "ui/aura/env.h" 26 #include "ui/aura/env.h"
27 #include "ui/aura/window_observer.h" 27 #include "ui/aura/window_observer.h"
28 #include "ui/aura/window_tracker.h" 28 #include "ui/aura/window_tracker.h"
29 #include "ui/aura/window_tree_host.h" 29 #include "ui/aura/window_tree_host.h"
30 #include "ui/display/manager/display_layout.h"
30 #include "ui/events/event_handler.h" 31 #include "ui/events/event_handler.h"
31 #include "ui/events/test/event_generator.h" 32 #include "ui/events/test/event_generator.h"
32 #include "ui/gfx/display.h" 33 #include "ui/gfx/display.h"
33 #include "ui/gfx/screen.h" 34 #include "ui/gfx/screen.h"
34 #include "ui/views/mouse_watcher.h" 35 #include "ui/views/mouse_watcher.h"
35 #include "ui/views/mouse_watcher_view_host.h" 36 #include "ui/views/mouse_watcher_view_host.h"
36 #include "ui/views/view.h" 37 #include "ui/views/view.h"
37 #include "ui/views/widget/widget.h" 38 #include "ui/views/widget/widget.h"
38 #include "ui/wm/public/activation_change_observer.h" 39 #include "ui/wm/public/activation_change_observer.h"
39 #include "ui/wm/public/activation_client.h" 40 #include "ui/wm/public/activation_client.h"
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 gfx::Display GetPrimaryDisplay() { 177 gfx::Display GetPrimaryDisplay() {
177 return gfx::Screen::GetScreen()->GetDisplayNearestWindow( 178 return gfx::Screen::GetScreen()->GetDisplayNearestWindow(
178 Shell::GetAllRootWindows()[0]); 179 Shell::GetAllRootWindows()[0]);
179 } 180 }
180 181
181 gfx::Display GetSecondaryDisplay() { 182 gfx::Display GetSecondaryDisplay() {
182 return gfx::Screen::GetScreen()->GetDisplayNearestWindow( 183 return gfx::Screen::GetScreen()->GetDisplayNearestWindow(
183 Shell::GetAllRootWindows()[1]); 184 Shell::GetAllRootWindows()[1]);
184 } 185 }
185 186
186 void SetSecondaryDisplayLayoutAndOffset(DisplayPlacement::Position position, 187 void SetSecondaryDisplayLayoutAndOffset(
187 int offset) { 188 display::DisplayPlacement::Position position,
188 scoped_ptr<DisplayLayout> layout(test::CreateDisplayLayout(position, offset)); 189 int offset) {
190 scoped_ptr<display::DisplayLayout> layout(
191 test::CreateDisplayLayout(position, offset));
189 ASSERT_GT(gfx::Screen::GetScreen()->GetNumDisplays(), 1); 192 ASSERT_GT(gfx::Screen::GetScreen()->GetNumDisplays(), 1);
190 Shell::GetInstance()->display_manager()->SetLayoutForCurrentDisplays( 193 Shell::GetInstance()->display_manager()->SetLayoutForCurrentDisplays(
191 std::move(layout)); 194 std::move(layout));
192 } 195 }
193 196
194 void SetSecondaryDisplayLayout(DisplayPlacement::Position position) { 197 void SetSecondaryDisplayLayout(display::DisplayPlacement::Position position) {
195 SetSecondaryDisplayLayoutAndOffset(position, 0); 198 SetSecondaryDisplayLayoutAndOffset(position, 0);
196 } 199 }
197 200
198 void SetDefaultDisplayLayout(DisplayPlacement::Position position) { 201 void SetDefaultDisplayLayout(display::DisplayPlacement::Position position) {
199 DisplayPlacement default_placement(position, 0); 202 display::DisplayPlacement default_placement(position, 0);
200 203
201 Shell::GetInstance() 204 Shell::GetInstance()
202 ->display_manager() 205 ->display_manager()
203 ->layout_store() 206 ->layout_store()
204 ->SetDefaultDisplayPlacement(default_placement); 207 ->SetDefaultDisplayPlacement(default_placement);
205 } 208 }
206 209
207 class WindowTreeHostManagerShutdownTest : public test::AshTestBase { 210 class WindowTreeHostManagerShutdownTest : public test::AshTestBase {
208 public: 211 public:
209 WindowTreeHostManagerShutdownTest() {} 212 WindowTreeHostManagerShutdownTest() {}
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 secondary_display_id, insets); 412 secondary_display_id, insets);
410 413
411 // Default layout is RIGHT. 414 // Default layout is RIGHT.
412 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); 415 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString());
413 EXPECT_EQ("500,0 400x400", GetSecondaryDisplay().bounds().ToString()); 416 EXPECT_EQ("500,0 400x400", GetSecondaryDisplay().bounds().ToString());
414 EXPECT_EQ("505,5 390x390", GetSecondaryDisplay().work_area().ToString()); 417 EXPECT_EQ("505,5 390x390", GetSecondaryDisplay().work_area().ToString());
415 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); 418 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset());
416 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); 419 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset());
417 420
418 // Layout the secondary display to the bottom of the primary. 421 // Layout the secondary display to the bottom of the primary.
419 SetSecondaryDisplayLayout(DisplayPlacement::BOTTOM); 422 SetSecondaryDisplayLayout(display::DisplayPlacement::BOTTOM);
420 EXPECT_EQ(1, observer.CountAndReset()); 423 EXPECT_EQ(1, observer.CountAndReset());
421 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset()); 424 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset());
422 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset()); 425 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset());
423 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); 426 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset());
424 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); 427 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset());
425 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset()); 428 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset());
426 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); 429 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString());
427 EXPECT_EQ("0,500 400x400", GetSecondaryDisplay().bounds().ToString()); 430 EXPECT_EQ("0,500 400x400", GetSecondaryDisplay().bounds().ToString());
428 EXPECT_EQ("5,505 390x390", GetSecondaryDisplay().work_area().ToString()); 431 EXPECT_EQ("5,505 390x390", GetSecondaryDisplay().work_area().ToString());
429 432
430 // Layout the secondary display to the left of the primary. 433 // Layout the secondary display to the left of the primary.
431 SetSecondaryDisplayLayout(DisplayPlacement::LEFT); 434 SetSecondaryDisplayLayout(display::DisplayPlacement::LEFT);
432 EXPECT_EQ(1, observer.CountAndReset()); 435 EXPECT_EQ(1, observer.CountAndReset());
433 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset()); 436 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset());
434 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset()); 437 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset());
435 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); 438 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset());
436 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); 439 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset());
437 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset()); 440 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset());
438 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); 441 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString());
439 EXPECT_EQ("-400,0 400x400", GetSecondaryDisplay().bounds().ToString()); 442 EXPECT_EQ("-400,0 400x400", GetSecondaryDisplay().bounds().ToString());
440 EXPECT_EQ("-395,5 390x390", GetSecondaryDisplay().work_area().ToString()); 443 EXPECT_EQ("-395,5 390x390", GetSecondaryDisplay().work_area().ToString());
441 444
442 // Layout the secondary display to the top of the primary. 445 // Layout the secondary display to the top of the primary.
443 SetSecondaryDisplayLayout(DisplayPlacement::TOP); 446 SetSecondaryDisplayLayout(display::DisplayPlacement::TOP);
444 EXPECT_EQ(1, observer.CountAndReset()); 447 EXPECT_EQ(1, observer.CountAndReset());
445 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset()); 448 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset());
446 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset()); 449 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset());
447 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); 450 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset());
448 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); 451 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset());
449 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset()); 452 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset());
450 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); 453 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString());
451 EXPECT_EQ("0,-400 400x400", GetSecondaryDisplay().bounds().ToString()); 454 EXPECT_EQ("0,-400 400x400", GetSecondaryDisplay().bounds().ToString());
452 EXPECT_EQ("5,-395 390x390", GetSecondaryDisplay().work_area().ToString()); 455 EXPECT_EQ("5,-395 390x390", GetSecondaryDisplay().work_area().ToString());
453 456
454 // Layout to the right with an offset. 457 // Layout to the right with an offset.
455 SetSecondaryDisplayLayoutAndOffset(DisplayPlacement::RIGHT, 300); 458 SetSecondaryDisplayLayoutAndOffset(display::DisplayPlacement::RIGHT, 300);
456 EXPECT_EQ(1, observer.CountAndReset()); // resize and add 459 EXPECT_EQ(1, observer.CountAndReset()); // resize and add
457 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset()); 460 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset());
458 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset()); 461 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset());
459 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); 462 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset());
460 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); 463 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset());
461 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset()); 464 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset());
462 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); 465 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString());
463 EXPECT_EQ("500,300 400x400", GetSecondaryDisplay().bounds().ToString()); 466 EXPECT_EQ("500,300 400x400", GetSecondaryDisplay().bounds().ToString());
464 467
465 // Keep the minimum 100. 468 // Keep the minimum 100.
466 SetSecondaryDisplayLayoutAndOffset(DisplayPlacement::RIGHT, 490); 469 SetSecondaryDisplayLayoutAndOffset(display::DisplayPlacement::RIGHT, 490);
467 EXPECT_EQ(1, observer.CountAndReset()); // resize and add 470 EXPECT_EQ(1, observer.CountAndReset()); // resize and add
468 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset()); 471 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset());
469 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset()); 472 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset());
470 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); 473 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset());
471 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); 474 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset());
472 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset()); 475 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset());
473 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); 476 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString());
474 EXPECT_EQ("500,400 400x400", GetSecondaryDisplay().bounds().ToString()); 477 EXPECT_EQ("500,400 400x400", GetSecondaryDisplay().bounds().ToString());
475 478
476 SetSecondaryDisplayLayoutAndOffset(DisplayPlacement::RIGHT, -400); 479 SetSecondaryDisplayLayoutAndOffset(display::DisplayPlacement::RIGHT, -400);
477 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset()); 480 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset());
478 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset()); 481 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset());
479 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset()); 482 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset());
480 EXPECT_EQ(1, observer.CountAndReset()); // resize and add 483 EXPECT_EQ(1, observer.CountAndReset()); // resize and add
481 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); 484 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset());
482 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); 485 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset());
483 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); 486 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString());
484 EXPECT_EQ("500,-300 400x400", GetSecondaryDisplay().bounds().ToString()); 487 EXPECT_EQ("500,-300 400x400", GetSecondaryDisplay().bounds().ToString());
485 488
486 // Layout to the bottom with an offset. 489 // Layout to the bottom with an offset.
487 SetSecondaryDisplayLayoutAndOffset(DisplayPlacement::BOTTOM, -200); 490 SetSecondaryDisplayLayoutAndOffset(display::DisplayPlacement::BOTTOM, -200);
488 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset()); 491 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset());
489 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset()); 492 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset());
490 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset()); 493 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset());
491 EXPECT_EQ(1, observer.CountAndReset()); // resize and add 494 EXPECT_EQ(1, observer.CountAndReset()); // resize and add
492 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); 495 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset());
493 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); 496 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset());
494 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); 497 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString());
495 EXPECT_EQ("-200,500 400x400", GetSecondaryDisplay().bounds().ToString()); 498 EXPECT_EQ("-200,500 400x400", GetSecondaryDisplay().bounds().ToString());
496 499
497 // Keep the minimum 100. 500 // Keep the minimum 100.
498 SetSecondaryDisplayLayoutAndOffset(DisplayPlacement::BOTTOM, 490); 501 SetSecondaryDisplayLayoutAndOffset(display::DisplayPlacement::BOTTOM, 490);
499 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset()); 502 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset());
500 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset()); 503 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset());
501 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset()); 504 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset());
502 EXPECT_EQ(1, observer.CountAndReset()); // resize and add 505 EXPECT_EQ(1, observer.CountAndReset()); // resize and add
503 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); 506 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset());
504 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); 507 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset());
505 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); 508 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString());
506 EXPECT_EQ("400,500 400x400", GetSecondaryDisplay().bounds().ToString()); 509 EXPECT_EQ("400,500 400x400", GetSecondaryDisplay().bounds().ToString());
507 510
508 SetSecondaryDisplayLayoutAndOffset(DisplayPlacement::BOTTOM, -400); 511 SetSecondaryDisplayLayoutAndOffset(display::DisplayPlacement::BOTTOM, -400);
509 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset()); 512 EXPECT_EQ(secondary_display_id, observer.GetChangedDisplayIdAndReset());
510 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset()); 513 EXPECT_EQ(1, observer.GetBoundsChangedCountAndReset());
511 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset()); 514 EXPECT_EQ(1, observer.GetWorkareaChangedCountAndReset());
512 EXPECT_EQ(1, observer.CountAndReset()); // resize and add 515 EXPECT_EQ(1, observer.CountAndReset()); // resize and add
513 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); 516 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset());
514 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); 517 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset());
515 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); 518 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString());
516 EXPECT_EQ("-300,500 400x400", GetSecondaryDisplay().bounds().ToString()); 519 EXPECT_EQ("-300,500 400x400", GetSecondaryDisplay().bounds().ToString());
517 520
518 // Setting the same layout shouldn't invoke observers. 521 // Setting the same layout shouldn't invoke observers.
519 SetSecondaryDisplayLayoutAndOffset(DisplayPlacement::BOTTOM, -400); 522 SetSecondaryDisplayLayoutAndOffset(display::DisplayPlacement::BOTTOM, -400);
520 EXPECT_EQ(0, observer.GetChangedDisplayIdAndReset()); 523 EXPECT_EQ(0, observer.GetChangedDisplayIdAndReset());
521 EXPECT_EQ(0, observer.GetBoundsChangedCountAndReset()); 524 EXPECT_EQ(0, observer.GetBoundsChangedCountAndReset());
522 EXPECT_EQ(0, observer.GetWorkareaChangedCountAndReset()); 525 EXPECT_EQ(0, observer.GetWorkareaChangedCountAndReset());
523 EXPECT_EQ(0, observer.CountAndReset()); // resize and add 526 EXPECT_EQ(0, observer.CountAndReset()); // resize and add
524 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); 527 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset());
525 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); 528 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset());
526 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); 529 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString());
527 EXPECT_EQ("-300,500 400x400", GetSecondaryDisplay().bounds().ToString()); 530 EXPECT_EQ("-300,500 400x400", GetSecondaryDisplay().bounds().ToString());
528 531
529 UpdateDisplay("500x500"); 532 UpdateDisplay("500x500");
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
602 605
603 TEST_F(WindowTreeHostManagerTest, BoundsUpdated) { 606 TEST_F(WindowTreeHostManagerTest, BoundsUpdated) {
604 if (!SupportsMultipleDisplays()) 607 if (!SupportsMultipleDisplays())
605 return; 608 return;
606 609
607 // Creates windows to catch activation change event. 610 // Creates windows to catch activation change event.
608 scoped_ptr<aura::Window> w1(CreateTestWindowInShellWithId(1)); 611 scoped_ptr<aura::Window> w1(CreateTestWindowInShellWithId(1));
609 w1->Focus(); 612 w1->Focus();
610 613
611 TestObserver observer; 614 TestObserver observer;
612 SetDefaultDisplayLayout(DisplayPlacement::BOTTOM); 615 SetDefaultDisplayLayout(display::DisplayPlacement::BOTTOM);
613 UpdateDisplay("200x200,300x300"); // layout, resize and add. 616 UpdateDisplay("200x200,300x300"); // layout, resize and add.
614 EXPECT_EQ(1, observer.CountAndReset()); 617 EXPECT_EQ(1, observer.CountAndReset());
615 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset()); 618 EXPECT_EQ(0, observer.GetFocusChangedCountAndReset());
616 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset()); 619 EXPECT_EQ(0, observer.GetActivationChangedCountAndReset());
617 620
618 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); 621 DisplayManager* display_manager = Shell::GetInstance()->display_manager();
619 gfx::Insets insets(5, 5, 5, 5); 622 gfx::Insets insets(5, 5, 5, 5);
620 display_manager->UpdateWorkAreaOfDisplay( 623 display_manager->UpdateWorkAreaOfDisplay(
621 ScreenUtil::GetSecondaryDisplay().id(), insets); 624 ScreenUtil::GetSecondaryDisplay().id(), insets);
622 625
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
710 TEST_F(WindowTreeHostManagerTest, FindNearestDisplay) { 713 TEST_F(WindowTreeHostManagerTest, FindNearestDisplay) {
711 if (!SupportsMultipleDisplays()) 714 if (!SupportsMultipleDisplays())
712 return; 715 return;
713 716
714 WindowTreeHostManager* window_tree_host_manager = 717 WindowTreeHostManager* window_tree_host_manager =
715 Shell::GetInstance()->window_tree_host_manager(); 718 Shell::GetInstance()->window_tree_host_manager();
716 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); 719 DisplayManager* display_manager = Shell::GetInstance()->display_manager();
717 720
718 UpdateDisplay("200x200,300x300"); 721 UpdateDisplay("200x200,300x300");
719 display_manager->SetLayoutForCurrentDisplays( 722 display_manager->SetLayoutForCurrentDisplays(
720 test::CreateDisplayLayout(DisplayPlacement::RIGHT, 50)); 723 test::CreateDisplayLayout(display::DisplayPlacement::RIGHT, 50));
721 724
722 gfx::Display primary_display = gfx::Screen::GetScreen()->GetPrimaryDisplay(); 725 gfx::Display primary_display = gfx::Screen::GetScreen()->GetPrimaryDisplay();
723 gfx::Display secondary_display = ScreenUtil::GetSecondaryDisplay(); 726 gfx::Display secondary_display = ScreenUtil::GetSecondaryDisplay();
724 EXPECT_NE(primary_display.id(), secondary_display.id()); 727 EXPECT_NE(primary_display.id(), secondary_display.id());
725 aura::Window* primary_root = 728 aura::Window* primary_root =
726 window_tree_host_manager->GetRootWindowForDisplayId(primary_display.id()); 729 window_tree_host_manager->GetRootWindowForDisplayId(primary_display.id());
727 aura::Window* secondary_root = 730 aura::Window* secondary_root =
728 window_tree_host_manager->GetRootWindowForDisplayId( 731 window_tree_host_manager->GetRootWindowForDisplayId(
729 secondary_display.id()); 732 secondary_display.id());
730 EXPECT_NE(primary_root, secondary_root); 733 EXPECT_NE(primary_root, secondary_root);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
774 777
775 WindowTreeHostManager* window_tree_host_manager = 778 WindowTreeHostManager* window_tree_host_manager =
776 Shell::GetInstance()->window_tree_host_manager(); 779 Shell::GetInstance()->window_tree_host_manager();
777 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); 780 DisplayManager* display_manager = Shell::GetInstance()->display_manager();
778 781
779 UpdateDisplay("200x200,300x300"); 782 UpdateDisplay("200x200,300x300");
780 gfx::Display primary_display = gfx::Screen::GetScreen()->GetPrimaryDisplay(); 783 gfx::Display primary_display = gfx::Screen::GetScreen()->GetPrimaryDisplay();
781 gfx::Display secondary_display = ScreenUtil::GetSecondaryDisplay(); 784 gfx::Display secondary_display = ScreenUtil::GetSecondaryDisplay();
782 785
783 display_manager->SetLayoutForCurrentDisplays( 786 display_manager->SetLayoutForCurrentDisplays(
784 test::CreateDisplayLayout(DisplayPlacement::RIGHT, 50)); 787 test::CreateDisplayLayout(display::DisplayPlacement::RIGHT, 50));
785 788
786 EXPECT_NE(primary_display.id(), secondary_display.id()); 789 EXPECT_NE(primary_display.id(), secondary_display.id());
787 aura::Window* primary_root = 790 aura::Window* primary_root =
788 window_tree_host_manager->GetRootWindowForDisplayId(primary_display.id()); 791 window_tree_host_manager->GetRootWindowForDisplayId(primary_display.id());
789 aura::Window* secondary_root = 792 aura::Window* secondary_root =
790 window_tree_host_manager->GetRootWindowForDisplayId( 793 window_tree_host_manager->GetRootWindowForDisplayId(
791 secondary_display.id()); 794 secondary_display.id());
792 aura::Window* shelf_window = 795 aura::Window* shelf_window =
793 Shelf::ForPrimaryDisplay()->shelf_widget()->GetNativeView(); 796 Shelf::ForPrimaryDisplay()->shelf_widget()->GetNativeView();
794 EXPECT_TRUE(primary_root->Contains(shelf_window)); 797 EXPECT_TRUE(primary_root->Contains(shelf_window));
(...skipping 22 matching lines...) Expand all
817 EXPECT_EQ(primary_display.id(), ScreenUtil::GetSecondaryDisplay().id()); 820 EXPECT_EQ(primary_display.id(), ScreenUtil::GetSecondaryDisplay().id());
818 EXPECT_LT(0, observer.CountAndReset()); 821 EXPECT_LT(0, observer.CountAndReset());
819 822
820 EXPECT_EQ(primary_root, window_tree_host_manager->GetRootWindowForDisplayId( 823 EXPECT_EQ(primary_root, window_tree_host_manager->GetRootWindowForDisplayId(
821 secondary_display.id())); 824 secondary_display.id()));
822 EXPECT_EQ(secondary_root, window_tree_host_manager->GetRootWindowForDisplayId( 825 EXPECT_EQ(secondary_root, window_tree_host_manager->GetRootWindowForDisplayId(
823 primary_display.id())); 826 primary_display.id()));
824 EXPECT_TRUE(primary_root->Contains(shelf_window)); 827 EXPECT_TRUE(primary_root->Contains(shelf_window));
825 EXPECT_FALSE(secondary_root->Contains(shelf_window)); 828 EXPECT_FALSE(secondary_root->Contains(shelf_window));
826 829
827 const DisplayLayout& inverted_layout = 830 const display::DisplayLayout& inverted_layout =
828 display_manager->GetCurrentDisplayLayout(); 831 display_manager->GetCurrentDisplayLayout();
829 832
830 EXPECT_EQ("id=2200000000, parent=2200000001, left, -50", 833 EXPECT_EQ("id=2200000000, parent=2200000001, left, -50",
831 inverted_layout.placement_list[0].ToString()); 834 inverted_layout.placement_list[0].ToString());
832 // Test if the bounds are correctly swapped. 835 // Test if the bounds are correctly swapped.
833 gfx::Display swapped_primary = gfx::Screen::GetScreen()->GetPrimaryDisplay(); 836 gfx::Display swapped_primary = gfx::Screen::GetScreen()->GetPrimaryDisplay();
834 gfx::Display swapped_secondary = ScreenUtil::GetSecondaryDisplay(); 837 gfx::Display swapped_secondary = ScreenUtil::GetSecondaryDisplay();
835 EXPECT_EQ("0,0 300x300", swapped_primary.bounds().ToString()); 838 EXPECT_EQ("0,0 300x300", swapped_primary.bounds().ToString());
836 EXPECT_EQ("0,0 300x253", swapped_primary.work_area().ToString()); 839 EXPECT_EQ("0,0 300x253", swapped_primary.work_area().ToString());
837 EXPECT_EQ("-200,-50 200x200", swapped_secondary.bounds().ToString()); 840 EXPECT_EQ("-200,-50 200x200", swapped_secondary.bounds().ToString());
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
998 EXPECT_EQ("150x200", root_windows[1]->bounds().size().ToString()); 1001 EXPECT_EQ("150x200", root_windows[1]->bounds().size().ToString());
999 EXPECT_EQ("200,0 150x200", 1002 EXPECT_EQ("200,0 150x200",
1000 ScreenUtil::GetSecondaryDisplay().bounds().ToString()); 1003 ScreenUtil::GetSecondaryDisplay().bounds().ToString());
1001 generator1.MoveMouseToInHost(50, 40); 1004 generator1.MoveMouseToInHost(50, 40);
1002 EXPECT_EQ("40,69", event_handler.GetLocationAndReset()); 1005 EXPECT_EQ("40,69", event_handler.GetLocationAndReset());
1003 EXPECT_EQ(gfx::Display::ROTATE_90, GetActiveDisplayRotation(display1.id())); 1006 EXPECT_EQ(gfx::Display::ROTATE_90, GetActiveDisplayRotation(display1.id()));
1004 EXPECT_EQ(gfx::Display::ROTATE_0, GetActiveDisplayRotation(display2_id)); 1007 EXPECT_EQ(gfx::Display::ROTATE_0, GetActiveDisplayRotation(display2_id));
1005 EXPECT_EQ(1, observer.GetRotationChangedCountAndReset()); 1008 EXPECT_EQ(1, observer.GetRotationChangedCountAndReset());
1006 1009
1007 display_manager->SetLayoutForCurrentDisplays( 1010 display_manager->SetLayoutForCurrentDisplays(
1008 test::CreateDisplayLayout(DisplayPlacement::BOTTOM, 50)); 1011 test::CreateDisplayLayout(display::DisplayPlacement::BOTTOM, 50));
1009 EXPECT_EQ("50,120 150x200", 1012 EXPECT_EQ("50,120 150x200",
1010 ScreenUtil::GetSecondaryDisplay().bounds().ToString()); 1013 ScreenUtil::GetSecondaryDisplay().bounds().ToString());
1011 1014
1012 display_manager->SetDisplayRotation(display2_id, gfx::Display::ROTATE_270, 1015 display_manager->SetDisplayRotation(display2_id, gfx::Display::ROTATE_270,
1013 gfx::Display::ROTATION_SOURCE_ACTIVE); 1016 gfx::Display::ROTATION_SOURCE_ACTIVE);
1014 EXPECT_EQ("200x120", root_windows[0]->bounds().size().ToString()); 1017 EXPECT_EQ("200x120", root_windows[0]->bounds().size().ToString());
1015 EXPECT_EQ("200x150", root_windows[1]->bounds().size().ToString()); 1018 EXPECT_EQ("200x150", root_windows[1]->bounds().size().ToString());
1016 EXPECT_EQ("50,120 200x150", 1019 EXPECT_EQ("50,120 200x150",
1017 ScreenUtil::GetSecondaryDisplay().bounds().ToString()); 1020 ScreenUtil::GetSecondaryDisplay().bounds().ToString());
1018 EXPECT_EQ(gfx::Display::ROTATE_90, GetActiveDisplayRotation(display1.id())); 1021 EXPECT_EQ(gfx::Display::ROTATE_90, GetActiveDisplayRotation(display1.id()));
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
1357 } 1360 }
1358 1361
1359 TEST_F(WindowTreeHostManagerTest, 1362 TEST_F(WindowTreeHostManagerTest,
1360 UpdateMouseLocationAfterDisplayChange_2ndOnLeft) { 1363 UpdateMouseLocationAfterDisplayChange_2ndOnLeft) {
1361 if (!SupportsMultipleDisplays()) 1364 if (!SupportsMultipleDisplays())
1362 return; 1365 return;
1363 1366
1364 // Set the 2nd display on the left. 1367 // Set the 2nd display on the left.
1365 DisplayLayoutStore* layout_store = 1368 DisplayLayoutStore* layout_store =
1366 Shell::GetInstance()->display_manager()->layout_store(); 1369 Shell::GetInstance()->display_manager()->layout_store();
1367 DisplayPlacement new_default(DisplayPlacement::LEFT, 0); 1370 display::DisplayPlacement new_default(display::DisplayPlacement::LEFT, 0);
1368 layout_store->SetDefaultDisplayPlacement(new_default); 1371 layout_store->SetDefaultDisplayPlacement(new_default);
1369 1372
1370 UpdateDisplay("200x200,300x300"); 1373 UpdateDisplay("200x200,300x300");
1371 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); 1374 aura::Window::Windows root_windows = Shell::GetAllRootWindows();
1372 1375
1373 EXPECT_EQ("-300,0 300x300", 1376 EXPECT_EQ("-300,0 300x300",
1374 ScreenUtil::GetSecondaryDisplay().bounds().ToString()); 1377 ScreenUtil::GetSecondaryDisplay().bounds().ToString());
1375 1378
1376 aura::Env* env = aura::Env::GetInstance(); 1379 aura::Env* env = aura::Env::GetInstance();
1377 1380
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
1487 widget->GetNativeWindow()->GetRootWindow()); 1490 widget->GetNativeWindow()->GetRootWindow());
1488 event_generator.MoveMouseToCenterOf(widget->GetNativeWindow()); 1491 event_generator.MoveMouseToCenterOf(widget->GetNativeWindow());
1489 1492
1490 UpdateDisplay("300x300"); 1493 UpdateDisplay("300x300");
1491 watcher.Stop(); 1494 watcher.Stop();
1492 1495
1493 widget->CloseNow(); 1496 widget->CloseNow();
1494 } 1497 }
1495 1498
1496 } // namespace ash 1499 } // namespace ash
OLDNEW
« no previous file with comments | « ash/display/window_tree_host_manager.cc ('k') | ash/extended_desktop_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698