OLD | NEW |
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 "content/browser/renderer_host/render_widget_host_view_aura.h" | 5 #include "content/browser/renderer_host/render_widget_host_view_aura.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/memory/shared_memory.h" | 9 #include "base/memory/shared_memory.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
785 TestWindowObserver observer(window); | 785 TestWindowObserver observer(window); |
786 ui::test::EventGenerator generator(window->GetRootWindow(), tap_point); | 786 ui::test::EventGenerator generator(window->GetRootWindow(), tap_point); |
787 generator.GestureTapAt(tap_point); | 787 generator.GestureTapAt(tap_point); |
788 ASSERT_TRUE(parent_view_->HasFocus()); | 788 ASSERT_TRUE(parent_view_->HasFocus()); |
789 ASSERT_TRUE(observer.destroyed()); | 789 ASSERT_TRUE(observer.destroyed()); |
790 | 790 |
791 widget_host_ = NULL; | 791 widget_host_ = NULL; |
792 view_ = NULL; | 792 view_ = NULL; |
793 } | 793 } |
794 | 794 |
795 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) | |
796 | |
797 // On Desktop Linux, select boxes need mouse capture in order to work. Test that | |
798 // when a select box is opened via a mouse press that it retains mouse capture | |
799 // after the mouse is released. | |
800 TEST_F(RenderWidgetHostViewAuraTest, PopupRetainsCaptureAfterMouseRelease) { | |
801 parent_view_->SetBounds(gfx::Rect(10, 10, 400, 400)); | |
802 parent_view_->Focus(); | |
803 EXPECT_TRUE(parent_view_->HasFocus()); | |
804 | |
805 ui::test::EventGenerator generator( | |
806 parent_view_->GetNativeView()->GetRootWindow(), gfx::Point(300, 300)); | |
807 generator.PressLeftButton(); | |
808 | |
809 view_->SetPopupType(blink::WebPopupTypeSelect); | |
810 view_->InitAsPopup(parent_view_, gfx::Rect(10, 10, 100, 100)); | |
811 ASSERT_TRUE(view_->NeedsMouseCapture()); | |
812 aura::Window* window = view_->GetNativeView(); | |
813 EXPECT_TRUE(window->HasCapture()); | |
814 | |
815 generator.ReleaseLeftButton(); | |
816 EXPECT_TRUE(window->HasCapture()); | |
817 } | |
818 #endif | |
819 | |
820 // Test that select boxes close when their parent window loses focus (e.g. due | 795 // Test that select boxes close when their parent window loses focus (e.g. due |
821 // to an alert or system modal dialog). | 796 // to an alert or system modal dialog). |
822 TEST_F(RenderWidgetHostViewAuraTest, PopupClosesWhenParentLosesFocus) { | 797 TEST_F(RenderWidgetHostViewAuraTest, PopupClosesWhenParentLosesFocus) { |
823 parent_view_->SetBounds(gfx::Rect(10, 10, 400, 400)); | 798 parent_view_->SetBounds(gfx::Rect(10, 10, 400, 400)); |
824 parent_view_->Focus(); | 799 parent_view_->Focus(); |
825 EXPECT_TRUE(parent_view_->HasFocus()); | 800 EXPECT_TRUE(parent_view_->HasFocus()); |
826 | 801 |
827 view_->SetPopupType(blink::WebPopupTypeSelect); | 802 view_->SetPopupType(blink::WebPopupTypeSelect); |
828 view_->InitAsPopup(parent_view_, gfx::Rect(10, 10, 100, 100)); | 803 view_->InitAsPopup(parent_view_, gfx::Rect(10, 10, 100, 100)); |
829 | 804 |
(...skipping 2107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2937 } | 2912 } |
2938 | 2913 |
2939 // Tests that when view initiated shutdown happens (i.e. RWHView is deleted | 2914 // Tests that when view initiated shutdown happens (i.e. RWHView is deleted |
2940 // before RWH), we clean up properly and don't leak the RWHVGuest. | 2915 // before RWH), we clean up properly and don't leak the RWHVGuest. |
2941 TEST_F(RenderWidgetHostViewGuestAuraTest, GuestViewDoesNotLeak) { | 2916 TEST_F(RenderWidgetHostViewGuestAuraTest, GuestViewDoesNotLeak) { |
2942 TearDownEnvironment(); | 2917 TearDownEnvironment(); |
2943 ASSERT_FALSE(guest_view_weak_.get()); | 2918 ASSERT_FALSE(guest_view_weak_.get()); |
2944 } | 2919 } |
2945 | 2920 |
2946 } // namespace content | 2921 } // namespace content |
OLD | NEW |