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

Side by Side Diff: ash/extended_desktop_unittest.cc

Issue 1483083003: Set the window state consistently Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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 | « no previous file | ash/wm/lock_layout_manager_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/display_manager.h" 5 #include "ash/display/display_manager.h"
6 #include "ash/root_window_controller.h" 6 #include "ash/root_window_controller.h"
7 #include "ash/screen_util.h" 7 #include "ash/screen_util.h"
8 #include "ash/shell.h" 8 #include "ash/shell.h"
9 #include "ash/shell_window_ids.h" 9 #include "ash/shell_window_ids.h"
10 #include "ash/system/tray/system_tray.h" 10 #include "ash/system/tray/system_tray.h"
(...skipping 625 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 636
637 TEST_F(ExtendedDesktopTest, MoveWindowWithTransient) { 637 TEST_F(ExtendedDesktopTest, MoveWindowWithTransient) {
638 if (!SupportsMultipleDisplays()) 638 if (!SupportsMultipleDisplays())
639 return; 639 return;
640 640
641 UpdateDisplay("1000x600,600x400"); 641 UpdateDisplay("1000x600,600x400");
642 aura::Window::Windows root_windows = Shell::GetAllRootWindows(); 642 aura::Window::Windows root_windows = Shell::GetAllRootWindows();
643 views::Widget* w1 = CreateTestWidget(gfx::Rect(10, 10, 100, 100)); 643 views::Widget* w1 = CreateTestWidget(gfx::Rect(10, 10, 100, 100));
644 views::Widget* w1_t1 = CreateTestWidgetWithParent( 644 views::Widget* w1_t1 = CreateTestWidgetWithParent(
645 w1, gfx::Rect(50, 50, 50, 50), false /* transient */); 645 w1, gfx::Rect(50, 50, 50, 50), false /* transient */);
646 // Transient child of the transient child. 646 // Transient child of the child of the parent.
647 views::Widget* w1_t11 = CreateTestWidgetWithParent( 647 views::Widget* w1_t11 = CreateTestWidgetWithParent(
648 w1_t1, gfx::Rect(1200, 70, 35, 35), false /* transient */); 648 w1_t1, gfx::Rect(1200, 70, 35, 35), false /* transient */);
649 649
650 views::Widget* w11 = CreateTestWidgetWithParent( 650 views::Widget* w11 = CreateTestWidgetWithParent(
651 w1, gfx::Rect(10, 10, 40, 40), true /* child */); 651 w1, gfx::Rect(10, 10, 40, 40), true /* child */);
652 views::Widget* w11_t1 = CreateTestWidgetWithParent( 652 views::Widget* w11_t1 = CreateTestWidgetWithParent(
653 w1, gfx::Rect(1300, 100, 80, 80), false /* transient */); 653 w1, gfx::Rect(1300, 100, 80, 80), false /* transient */);
654 654
655 EXPECT_EQ(root_windows[0], w1->GetNativeView()->GetRootWindow()); 655 EXPECT_EQ(root_windows[0], w1->GetNativeView()->GetRootWindow());
656 EXPECT_EQ(root_windows[0], w11->GetNativeView()->GetRootWindow()); 656 EXPECT_EQ(root_windows[0], w11->GetNativeView()->GetRootWindow());
657 EXPECT_EQ(root_windows[0], w1_t1->GetNativeView()->GetRootWindow()); 657 EXPECT_EQ(root_windows[0], w1_t1->GetNativeView()->GetRootWindow());
658 EXPECT_EQ(root_windows[0], w1_t11->GetNativeView()->GetRootWindow()); 658 EXPECT_EQ(root_windows[0], w1_t11->GetNativeView()->GetRootWindow());
659 EXPECT_EQ(root_windows[0], w11_t1->GetNativeView()->GetRootWindow()); 659 EXPECT_EQ(root_windows[0], w11_t1->GetNativeView()->GetRootWindow());
660 EXPECT_EQ("50,50 50x50", 660 EXPECT_EQ("50,50 50x50",
661 w1_t1->GetWindowBoundsInScreen().ToString()); 661 w1_t1->GetWindowBoundsInScreen().ToString());
662 EXPECT_EQ("1200,70 35x35", 662 // The window must fit inside the workarea.
663 w1_t11->GetWindowBoundsInScreen().ToString()); 663 EXPECT_EQ("975,70 35x35", w1_t11->GetWindowBoundsInScreen().ToString());
664 EXPECT_EQ("20,20 40x40", 664 EXPECT_EQ("20,20 40x40",
665 w11->GetWindowBoundsInScreen().ToString()); 665 w11->GetWindowBoundsInScreen().ToString());
666 EXPECT_EQ("1300,100 80x80", 666 // The window must fit inside the workarea.
667 w11_t1->GetWindowBoundsInScreen().ToString()); 667 EXPECT_EQ("975,100 80x80", w11_t1->GetWindowBoundsInScreen().ToString());
668
669 w1->SetBounds(gfx::Rect(1100, 10, 100, 100)); 668 w1->SetBounds(gfx::Rect(1100, 10, 100, 100));
670 669
671 EXPECT_EQ(root_windows[1], w1_t1->GetNativeView()->GetRootWindow()); 670 EXPECT_EQ(root_windows[1], w1_t1->GetNativeView()->GetRootWindow());
672 EXPECT_EQ(root_windows[1], w1_t1->GetNativeView()->GetRootWindow()); 671 EXPECT_EQ(root_windows[1], w1_t1->GetNativeView()->GetRootWindow());
673 EXPECT_EQ(root_windows[1], w1_t11->GetNativeView()->GetRootWindow()); 672 EXPECT_EQ(root_windows[1], w1_t11->GetNativeView()->GetRootWindow());
674 EXPECT_EQ(root_windows[1], w11->GetNativeView()->GetRootWindow()); 673 EXPECT_EQ(root_windows[1], w11->GetNativeView()->GetRootWindow());
675 EXPECT_EQ(root_windows[1], w11_t1->GetNativeView()->GetRootWindow()); 674 EXPECT_EQ(root_windows[1], w11_t1->GetNativeView()->GetRootWindow());
676 675
677 EXPECT_EQ("1110,20 40x40", 676 EXPECT_EQ("1110,20 40x40",
678 w11->GetWindowBoundsInScreen().ToString()); 677 w11->GetWindowBoundsInScreen().ToString());
679 // Transient window's screen bounds stays the same. 678 // Transient window's screen bounds stays the same.
680 EXPECT_EQ("50,50 50x50", 679 EXPECT_EQ("50,50 50x50",
681 w1_t1->GetWindowBoundsInScreen().ToString()); 680 w1_t1->GetWindowBoundsInScreen().ToString());
682 EXPECT_EQ("1200,70 35x35", 681 // TODO(oshima): window should probably be fit into the desktop in this case.
683 w1_t11->GetWindowBoundsInScreen().ToString()); 682 EXPECT_EQ("975,70 35x35", w1_t11->GetWindowBoundsInScreen().ToString());
684 EXPECT_EQ("1300,100 80x80", 683 EXPECT_EQ("975,100 80x80", w11_t1->GetWindowBoundsInScreen().ToString());
685 w11_t1->GetWindowBoundsInScreen().ToString());
686 684
687 // Transient window doesn't move between root window unless 685 // Transient window doesn't move between root window unless
688 // its transient parent moves. 686 // its transient parent moves.
689 w1_t1->SetBounds(gfx::Rect(10, 50, 50, 50)); 687 w1_t1->SetBounds(gfx::Rect(10, 50, 50, 50));
690 EXPECT_EQ(root_windows[1], w1_t1->GetNativeView()->GetRootWindow()); 688 EXPECT_EQ(root_windows[1], w1_t1->GetNativeView()->GetRootWindow());
691 EXPECT_EQ("10,50 50x50", 689 EXPECT_EQ("10,50 50x50",
692 w1_t1->GetWindowBoundsInScreen().ToString()); 690 w1_t1->GetWindowBoundsInScreen().ToString());
693 } 691 }
694 692
695 // Test if the Window::ConvertPointToTarget works across root windows. 693 // Test if the Window::ConvertPointToTarget works across root windows.
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
925 generator.ReleaseLeftButton(); 923 generator.ReleaseLeftButton();
926 EXPECT_EQ("-999,-999 -999,-999", event_handler.GetLocationsAndReset()); 924 EXPECT_EQ("-999,-999 -999,-999", event_handler.GetLocationsAndReset());
927 925
928 generator.MoveMouseTo(400, 150); 926 generator.MoveMouseTo(400, 150);
929 EXPECT_EQ("100,150 100,150", event_handler.GetLocationsAndReset()); 927 EXPECT_EQ("100,150 100,150", event_handler.GetLocationsAndReset());
930 928
931 ash::Shell::GetInstance()->RemovePreTargetHandler(&event_handler); 929 ash::Shell::GetInstance()->RemovePreTargetHandler(&event_handler);
932 } 930 }
933 931
934 } // namespace ash 932 } // namespace ash
OLDNEW
« no previous file with comments | « no previous file | ash/wm/lock_layout_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698