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/scoped_vector.h" | 9 #include "base/memory/scoped_vector.h" |
10 #include "base/memory/shared_memory.h" | 10 #include "base/memory/shared_memory.h" |
(...skipping 787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
798 view_->InitAsFullscreen(parent_view_); | 798 view_->InitAsFullscreen(parent_view_); |
799 aura::Window* window = view_->GetNativeView(); | 799 aura::Window* window = view_->GetNativeView(); |
800 ASSERT_TRUE(window != NULL); | 800 ASSERT_TRUE(window != NULL); |
801 ASSERT_TRUE(window->HasFocus()); | 801 ASSERT_TRUE(window->HasFocus()); |
802 | 802 |
803 // After we create and focus another window, the RWHVA's window should be | 803 // After we create and focus another window, the RWHVA's window should be |
804 // destroyed. | 804 // destroyed. |
805 TestWindowObserver observer(window); | 805 TestWindowObserver observer(window); |
806 aura::test::TestWindowDelegate delegate; | 806 aura::test::TestWindowDelegate delegate; |
807 scoped_ptr<aura::Window> sibling(new aura::Window(&delegate)); | 807 scoped_ptr<aura::Window> sibling(new aura::Window(&delegate)); |
808 sibling->Init(aura::WINDOW_LAYER_TEXTURED); | 808 sibling->Init(ui::LAYER_TEXTURED); |
809 sibling->Show(); | 809 sibling->Show(); |
810 window->parent()->AddChild(sibling.get()); | 810 window->parent()->AddChild(sibling.get()); |
811 sibling->Focus(); | 811 sibling->Focus(); |
812 ASSERT_TRUE(sibling->HasFocus()); | 812 ASSERT_TRUE(sibling->HasFocus()); |
813 ASSERT_TRUE(observer.destroyed()); | 813 ASSERT_TRUE(observer.destroyed()); |
814 | 814 |
815 widget_host_ = NULL; | 815 widget_host_ = NULL; |
816 view_ = NULL; | 816 view_ = NULL; |
817 } | 817 } |
818 | 818 |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
903 EXPECT_TRUE(parent_view_->HasFocus()); | 903 EXPECT_TRUE(parent_view_->HasFocus()); |
904 | 904 |
905 view_->SetPopupType(blink::WebPopupTypeSelect); | 905 view_->SetPopupType(blink::WebPopupTypeSelect); |
906 view_->InitAsPopup(parent_view_, gfx::Rect(10, 10, 100, 100)); | 906 view_->InitAsPopup(parent_view_, gfx::Rect(10, 10, 100, 100)); |
907 | 907 |
908 aura::Window* popup_window = view_->GetNativeView(); | 908 aura::Window* popup_window = view_->GetNativeView(); |
909 TestWindowObserver observer(popup_window); | 909 TestWindowObserver observer(popup_window); |
910 | 910 |
911 aura::test::TestWindowDelegate delegate; | 911 aura::test::TestWindowDelegate delegate; |
912 scoped_ptr<aura::Window> dialog_window(new aura::Window(&delegate)); | 912 scoped_ptr<aura::Window> dialog_window(new aura::Window(&delegate)); |
913 dialog_window->Init(aura::WINDOW_LAYER_TEXTURED); | 913 dialog_window->Init(ui::LAYER_TEXTURED); |
914 aura::client::ParentWindowWithContext( | 914 aura::client::ParentWindowWithContext( |
915 dialog_window.get(), popup_window, gfx::Rect()); | 915 dialog_window.get(), popup_window, gfx::Rect()); |
916 dialog_window->Show(); | 916 dialog_window->Show(); |
917 wm::ActivateWindow(dialog_window.get()); | 917 wm::ActivateWindow(dialog_window.get()); |
918 dialog_window->Focus(); | 918 dialog_window->Focus(); |
919 | 919 |
920 ASSERT_TRUE(wm::IsActiveWindow(dialog_window.get())); | 920 ASSERT_TRUE(wm::IsActiveWindow(dialog_window.get())); |
921 EXPECT_TRUE(observer.destroyed()); | 921 EXPECT_TRUE(observer.destroyed()); |
922 | 922 |
923 widget_host_ = NULL; | 923 widget_host_ = NULL; |
(...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1728 EXPECT_CALL(observer, OnDelegatedFrameDamage(view_->window_, view_rect)); | 1728 EXPECT_CALL(observer, OnDelegatedFrameDamage(view_->window_, view_rect)); |
1729 view_->OnSwapCompositorFrame(3, | 1729 view_->OnSwapCompositorFrame(3, |
1730 MakeDelegatedFrame(1.f, frame_size, view_rect)); | 1730 MakeDelegatedFrame(1.f, frame_size, view_rect)); |
1731 testing::Mock::VerifyAndClearExpectations(&observer); | 1731 testing::Mock::VerifyAndClearExpectations(&observer); |
1732 view_->RunOnCompositingDidCommit(); | 1732 view_->RunOnCompositingDidCommit(); |
1733 | 1733 |
1734 view_->window_->RemoveObserver(&observer); | 1734 view_->window_->RemoveObserver(&observer); |
1735 } | 1735 } |
1736 | 1736 |
1737 TEST_F(RenderWidgetHostViewAuraTest, DiscardDelegatedFrames) { | 1737 TEST_F(RenderWidgetHostViewAuraTest, DiscardDelegatedFrames) { |
| 1738 view_->InitAsChild(NULL); |
| 1739 |
1738 size_t max_renderer_frames = | 1740 size_t max_renderer_frames = |
1739 RendererFrameManager::GetInstance()->GetMaxNumberOfSavedFrames(); | 1741 RendererFrameManager::GetInstance()->GetMaxNumberOfSavedFrames(); |
1740 ASSERT_LE(2u, max_renderer_frames); | 1742 ASSERT_LE(2u, max_renderer_frames); |
1741 size_t renderer_count = max_renderer_frames + 1; | 1743 size_t renderer_count = max_renderer_frames + 1; |
1742 gfx::Rect view_rect(100, 100); | 1744 gfx::Rect view_rect(100, 100); |
1743 gfx::Size frame_size = view_rect.size(); | 1745 gfx::Size frame_size = view_rect.size(); |
1744 DCHECK_EQ(0u, HostSharedBitmapManager::current()->AllocatedBitmapCount()); | 1746 DCHECK_EQ(0u, HostSharedBitmapManager::current()->AllocatedBitmapCount()); |
1745 | 1747 |
1746 scoped_ptr<RenderWidgetHostImpl * []> hosts( | 1748 scoped_ptr<RenderWidgetHostImpl * []> hosts( |
1747 new RenderWidgetHostImpl* [renderer_count]); | 1749 new RenderWidgetHostImpl* [renderer_count]); |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1889 RendererFrameManager::GetInstance()->set_max_handles( | 1891 RendererFrameManager::GetInstance()->set_max_handles( |
1890 base::SharedMemory::GetHandleLimit()); | 1892 base::SharedMemory::GetHandleLimit()); |
1891 | 1893 |
1892 for (size_t i = 0; i < renderer_count; ++i) { | 1894 for (size_t i = 0; i < renderer_count; ++i) { |
1893 views[i]->Destroy(); | 1895 views[i]->Destroy(); |
1894 delete hosts[i]; | 1896 delete hosts[i]; |
1895 } | 1897 } |
1896 } | 1898 } |
1897 | 1899 |
1898 TEST_F(RenderWidgetHostViewAuraTest, DiscardDelegatedFramesWithLocking) { | 1900 TEST_F(RenderWidgetHostViewAuraTest, DiscardDelegatedFramesWithLocking) { |
| 1901 view_->InitAsChild(NULL); |
| 1902 |
1899 size_t max_renderer_frames = | 1903 size_t max_renderer_frames = |
1900 RendererFrameManager::GetInstance()->GetMaxNumberOfSavedFrames(); | 1904 RendererFrameManager::GetInstance()->GetMaxNumberOfSavedFrames(); |
1901 ASSERT_LE(2u, max_renderer_frames); | 1905 ASSERT_LE(2u, max_renderer_frames); |
1902 size_t renderer_count = max_renderer_frames + 1; | 1906 size_t renderer_count = max_renderer_frames + 1; |
1903 gfx::Rect view_rect(100, 100); | 1907 gfx::Rect view_rect(100, 100); |
1904 gfx::Size frame_size = view_rect.size(); | 1908 gfx::Size frame_size = view_rect.size(); |
1905 DCHECK_EQ(0u, HostSharedBitmapManager::current()->AllocatedBitmapCount()); | 1909 DCHECK_EQ(0u, HostSharedBitmapManager::current()->AllocatedBitmapCount()); |
1906 | 1910 |
1907 scoped_ptr<RenderWidgetHostImpl * []> hosts( | 1911 scoped_ptr<RenderWidgetHostImpl * []> hosts( |
1908 new RenderWidgetHostImpl* [renderer_count]); | 1912 new RenderWidgetHostImpl* [renderer_count]); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1951 | 1955 |
1952 for (size_t i = 0; i < renderer_count; ++i) { | 1956 for (size_t i = 0; i < renderer_count; ++i) { |
1953 views[i]->Destroy(); | 1957 views[i]->Destroy(); |
1954 delete hosts[i]; | 1958 delete hosts[i]; |
1955 } | 1959 } |
1956 } | 1960 } |
1957 | 1961 |
1958 // Test that changing the memory pressure should delete saved frames. This test | 1962 // Test that changing the memory pressure should delete saved frames. This test |
1959 // only applies to ChromeOS. | 1963 // only applies to ChromeOS. |
1960 TEST_F(RenderWidgetHostViewAuraTest, DiscardDelegatedFramesWithMemoryPressure) { | 1964 TEST_F(RenderWidgetHostViewAuraTest, DiscardDelegatedFramesWithMemoryPressure) { |
| 1965 view_->InitAsChild(NULL); |
| 1966 |
1961 size_t max_renderer_frames = | 1967 size_t max_renderer_frames = |
1962 RendererFrameManager::GetInstance()->GetMaxNumberOfSavedFrames(); | 1968 RendererFrameManager::GetInstance()->GetMaxNumberOfSavedFrames(); |
1963 ASSERT_LE(2u, max_renderer_frames); | 1969 ASSERT_LE(2u, max_renderer_frames); |
1964 size_t renderer_count = max_renderer_frames; | 1970 size_t renderer_count = max_renderer_frames; |
1965 gfx::Rect view_rect(100, 100); | 1971 gfx::Rect view_rect(100, 100); |
1966 gfx::Size frame_size = view_rect.size(); | 1972 gfx::Size frame_size = view_rect.size(); |
1967 DCHECK_EQ(0u, HostSharedBitmapManager::current()->AllocatedBitmapCount()); | 1973 DCHECK_EQ(0u, HostSharedBitmapManager::current()->AllocatedBitmapCount()); |
1968 | 1974 |
1969 scoped_ptr<RenderWidgetHostImpl * []> hosts( | 1975 scoped_ptr<RenderWidgetHostImpl * []> hosts( |
1970 new RenderWidgetHostImpl* [renderer_count]); | 1976 new RenderWidgetHostImpl* [renderer_count]); |
(...skipping 1211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3182 SimulateGestureEvent(WebInputEvent::GestureScrollEnd, | 3188 SimulateGestureEvent(WebInputEvent::GestureScrollEnd, |
3183 blink::WebGestureDeviceTouchscreen); | 3189 blink::WebGestureDeviceTouchscreen); |
3184 EXPECT_EQ(OVERSCROLL_NONE, overscroll_delegate()->current_mode()); | 3190 EXPECT_EQ(OVERSCROLL_NONE, overscroll_delegate()->current_mode()); |
3185 EXPECT_EQ(OVERSCROLL_EAST, overscroll_delegate()->completed_mode()); | 3191 EXPECT_EQ(OVERSCROLL_EAST, overscroll_delegate()->completed_mode()); |
3186 EXPECT_EQ(3U, sink_->message_count()); | 3192 EXPECT_EQ(3U, sink_->message_count()); |
3187 } | 3193 } |
3188 | 3194 |
3189 // Tests that when view initiated shutdown happens (i.e. RWHView is deleted | 3195 // Tests that when view initiated shutdown happens (i.e. RWHView is deleted |
3190 // before RWH), we clean up properly and don't leak the RWHVGuest. | 3196 // before RWH), we clean up properly and don't leak the RWHVGuest. |
3191 TEST_F(RenderWidgetHostViewGuestAuraTest, GuestViewDoesNotLeak) { | 3197 TEST_F(RenderWidgetHostViewGuestAuraTest, GuestViewDoesNotLeak) { |
| 3198 view_->InitAsChild(NULL); |
3192 TearDownEnvironment(); | 3199 TearDownEnvironment(); |
3193 ASSERT_FALSE(guest_view_weak_.get()); | 3200 ASSERT_FALSE(guest_view_weak_.get()); |
3194 } | 3201 } |
3195 | 3202 |
3196 // Tests that invalid touch events are consumed and handled | 3203 // Tests that invalid touch events are consumed and handled |
3197 // synchronously. | 3204 // synchronously. |
3198 TEST_F(RenderWidgetHostViewAuraTest, | 3205 TEST_F(RenderWidgetHostViewAuraTest, |
3199 InvalidEventsHaveSyncHandlingDisabled) { | 3206 InvalidEventsHaveSyncHandlingDisabled) { |
3200 view_->InitAsChild(NULL); | 3207 view_->InitAsChild(NULL); |
3201 view_->Show(); | 3208 view_->Show(); |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3311 ui::TouchEvent press2( | 3318 ui::TouchEvent press2( |
3312 ui::ET_TOUCH_PRESSED, gfx::Point(20, 20), 1, ui::EventTimeForNow()); | 3319 ui::ET_TOUCH_PRESSED, gfx::Point(20, 20), 1, ui::EventTimeForNow()); |
3313 view_->OnTouchEvent(&press2); | 3320 view_->OnTouchEvent(&press2); |
3314 SendInputEventACK(blink::WebInputEvent::TouchStart, | 3321 SendInputEventACK(blink::WebInputEvent::TouchStart, |
3315 INPUT_EVENT_ACK_STATE_CONSUMED); | 3322 INPUT_EVENT_ACK_STATE_CONSUMED); |
3316 | 3323 |
3317 EXPECT_EQ(2U, view_->dispatcher_->processed_touch_event_count()); | 3324 EXPECT_EQ(2U, view_->dispatcher_->processed_touch_event_count()); |
3318 } | 3325 } |
3319 | 3326 |
3320 } // namespace content | 3327 } // namespace content |
OLD | NEW |