OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "ui/aura/window.h" | 5 #include "ui/aura/window.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 672 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
683 EXPECT_FALSE(w2->IsActive()); | 683 EXPECT_FALSE(w2->IsActive()); |
684 EXPECT_EQ(w1.get(), parent->children()[1]); | 684 EXPECT_EQ(w1.get(), parent->children()[1]); |
685 | 685 |
686 // Deactivate w1 and make sure w2 becomes active and frontmost. | 686 // Deactivate w1 and make sure w2 becomes active and frontmost. |
687 w1->Deactivate(); | 687 w1->Deactivate(); |
688 EXPECT_FALSE(w1->IsActive()); | 688 EXPECT_FALSE(w1->IsActive()); |
689 EXPECT_TRUE(w2->IsActive()); | 689 EXPECT_TRUE(w2->IsActive()); |
690 EXPECT_EQ(w2.get(), parent->children()[1]); | 690 EXPECT_EQ(w2.get(), parent->children()[1]); |
691 } | 691 } |
692 | 692 |
693 #if !defined(OS_WIN) | |
694 // Tests transformation on the desktop. | 693 // Tests transformation on the desktop. |
695 TEST_F(WindowTest, Transform) { | 694 TEST_F(WindowTest, Transform) { |
696 Desktop* desktop = Desktop::GetInstance(); | 695 Desktop* desktop = Desktop::GetInstance(); |
697 desktop->ShowDesktop(); | |
698 gfx::Size size = desktop->GetHostSize(); | 696 gfx::Size size = desktop->GetHostSize(); |
699 EXPECT_EQ(gfx::Rect(size), | 697 EXPECT_EQ(gfx::Rect(size), |
700 gfx::Screen::GetMonitorAreaNearestPoint(gfx::Point())); | 698 gfx::Screen::GetMonitorAreaNearestPoint(gfx::Point())); |
701 | 699 |
702 // Rotate it clock-wise 90 degrees. | 700 // Rotate it clock-wise 90 degrees. |
703 ui::Transform transform; | 701 ui::Transform transform; |
704 transform.SetRotate(90.0f); | 702 transform.SetRotate(90.0f); |
705 transform.ConcatTranslate(size.width(), 0); | 703 transform.ConcatTranslate(size.width(), 0); |
706 desktop->SetTransform(transform); | 704 desktop->SetTransform(transform); |
707 | 705 |
708 // The size should be the transformed size. | 706 // The size should be the transformed size. |
709 gfx::Size transformed_size(size.height(), size.width()); | 707 gfx::Size transformed_size(size.height(), size.width()); |
710 EXPECT_EQ(transformed_size.ToString(), desktop->GetHostSize().ToString()); | 708 EXPECT_EQ(transformed_size.ToString(), desktop->GetHostSize().ToString()); |
711 EXPECT_EQ(gfx::Rect(transformed_size).ToString(), | 709 EXPECT_EQ(gfx::Rect(transformed_size).ToString(), |
712 desktop->bounds().ToString()); | 710 desktop->bounds().ToString()); |
713 EXPECT_EQ(gfx::Rect(transformed_size).ToString(), | 711 EXPECT_EQ(gfx::Rect(transformed_size).ToString(), |
714 gfx::Screen::GetMonitorAreaNearestPoint(gfx::Point()).ToString()); | 712 gfx::Screen::GetMonitorAreaNearestPoint(gfx::Point()).ToString()); |
715 | |
716 ActivateWindowDelegate d1; | |
717 scoped_ptr<Window> w1( | |
718 CreateTestWindowWithDelegate(&d1, 1, gfx::Rect(0, 10, 50, 50), NULL)); | |
719 w1->Show(); | |
720 | |
721 gfx::Point miss_point(5, 5); | |
722 transform.TransformPoint(miss_point); | |
723 MouseEvent mouseev1(ui::ET_MOUSE_PRESSED, | |
724 miss_point, | |
725 ui::EF_LEFT_BUTTON_DOWN); | |
726 desktop->DispatchMouseEvent(&mouseev1); | |
727 EXPECT_FALSE(w1->GetFocusManager()->GetFocusedWindow()); | |
728 MouseEvent mouseup(ui::ET_MOUSE_RELEASED, | |
729 miss_point, | |
730 ui::EF_LEFT_BUTTON_DOWN); | |
731 desktop->DispatchMouseEvent(&mouseup); | |
732 | |
733 gfx::Point hit_point(5, 15); | |
734 transform.TransformPoint(hit_point); | |
735 MouseEvent mouseev2(ui::ET_MOUSE_PRESSED, | |
736 hit_point, | |
737 ui::EF_LEFT_BUTTON_DOWN); | |
738 desktop->DispatchMouseEvent(&mouseev2); | |
739 EXPECT_EQ(w1.get(), desktop->active_window()); | |
740 EXPECT_EQ(w1.get(), w1->GetFocusManager()->GetFocusedWindow()); | |
741 } | 713 } |
742 #endif | |
743 | 714 |
744 // Various assertions for transient children. | 715 // Various assertions for transient children. |
745 TEST_F(WindowTest, TransientChildren) { | 716 TEST_F(WindowTest, TransientChildren) { |
746 scoped_ptr<Window> parent(CreateTestWindowWithId(0, NULL)); | 717 scoped_ptr<Window> parent(CreateTestWindowWithId(0, NULL)); |
747 scoped_ptr<Window> w1(CreateTestWindowWithId(1, parent.get())); | 718 scoped_ptr<Window> w1(CreateTestWindowWithId(1, parent.get())); |
748 scoped_ptr<Window> w3(CreateTestWindowWithId(3, parent.get())); | 719 scoped_ptr<Window> w3(CreateTestWindowWithId(3, parent.get())); |
749 Window* w2 = CreateTestWindowWithId(2, parent.get()); | 720 Window* w2 = CreateTestWindowWithId(2, parent.get()); |
750 w1->AddTransientChild(w2); // w2 is now owned by w1. | 721 w1->AddTransientChild(w2); // w2 is now owned by w1. |
751 // Move w1 to the front (end), this should force w2 to be last (on top of w1). | 722 // Move w1 to the front (end), this should force w2 to be last (on top of w1). |
752 parent->MoveChildToFront(w1.get()); | 723 parent->MoveChildToFront(w1.get()); |
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1080 | 1051 |
1081 w3->Activate(); | 1052 w3->Activate(); |
1082 EXPECT_EQ(w2.get(), active()); | 1053 EXPECT_EQ(w2.get(), active()); |
1083 | 1054 |
1084 w1->Activate(); | 1055 w1->Activate(); |
1085 EXPECT_EQ(w1.get(), active()); | 1056 EXPECT_EQ(w1.get(), active()); |
1086 } | 1057 } |
1087 | 1058 |
1088 } // namespace test | 1059 } // namespace test |
1089 } // namespace aura | 1060 } // namespace aura |
OLD | NEW |