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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 #include "ui/aura/window_event_dispatcher.h" | 49 #include "ui/aura/window_event_dispatcher.h" |
50 #include "ui/aura/window_observer.h" | 50 #include "ui/aura/window_observer.h" |
51 #include "ui/base/ui_base_types.h" | 51 #include "ui/base/ui_base_types.h" |
52 #include "ui/compositor/compositor.h" | 52 #include "ui/compositor/compositor.h" |
53 #include "ui/compositor/test/draw_waiter_for_test.h" | 53 #include "ui/compositor/test/draw_waiter_for_test.h" |
54 #include "ui/events/event.h" | 54 #include "ui/events/event.h" |
55 #include "ui/events/event_utils.h" | 55 #include "ui/events/event_utils.h" |
56 #include "ui/events/gesture_detection/gesture_configuration.h" | 56 #include "ui/events/gesture_detection/gesture_configuration.h" |
57 #include "ui/events/test/event_generator.h" | 57 #include "ui/events/test/event_generator.h" |
58 #include "ui/wm/core/default_activation_client.h" | 58 #include "ui/wm/core/default_activation_client.h" |
| 59 #include "ui/wm/core/default_screen_position_client.h" |
59 #include "ui/wm/core/window_util.h" | 60 #include "ui/wm/core/window_util.h" |
60 | 61 |
61 using testing::_; | 62 using testing::_; |
62 | 63 |
63 using blink::WebGestureEvent; | 64 using blink::WebGestureEvent; |
64 using blink::WebInputEvent; | 65 using blink::WebInputEvent; |
65 using blink::WebMouseEvent; | 66 using blink::WebMouseEvent; |
66 using blink::WebMouseWheelEvent; | 67 using blink::WebMouseWheelEvent; |
67 using blink::WebTouchEvent; | 68 using blink::WebTouchEvent; |
68 using blink::WebTouchPoint; | 69 using blink::WebTouchPoint; |
69 | 70 |
70 namespace content { | 71 namespace content { |
71 namespace { | 72 namespace { |
72 | 73 |
73 // Simple screen position client to test coordinate system conversion. | |
74 class TestScreenPositionClient | |
75 : public aura::client::ScreenPositionClient { | |
76 public: | |
77 TestScreenPositionClient() {} | |
78 ~TestScreenPositionClient() override {} | |
79 | |
80 // aura::client::ScreenPositionClient overrides: | |
81 void ConvertPointToScreen(const aura::Window* window, | |
82 gfx::Point* point) override { | |
83 point->Offset(-1, -1); | |
84 } | |
85 | |
86 void ConvertPointFromScreen(const aura::Window* window, | |
87 gfx::Point* point) override { | |
88 point->Offset(1, 1); | |
89 } | |
90 | |
91 void ConvertHostPointToScreen(aura::Window* window, | |
92 gfx::Point* point) override { | |
93 ConvertPointToScreen(window, point); | |
94 } | |
95 | |
96 void SetBounds(aura::Window* window, | |
97 const gfx::Rect& bounds, | |
98 const gfx::Display& display) override {} | |
99 }; | |
100 | |
101 class TestOverscrollDelegate : public OverscrollControllerDelegate { | 74 class TestOverscrollDelegate : public OverscrollControllerDelegate { |
102 public: | 75 public: |
103 explicit TestOverscrollDelegate(RenderWidgetHostView* view) | 76 explicit TestOverscrollDelegate(RenderWidgetHostView* view) |
104 : view_(view), | 77 : view_(view), |
105 current_mode_(OVERSCROLL_NONE), | 78 current_mode_(OVERSCROLL_NONE), |
106 completed_mode_(OVERSCROLL_NONE), | 79 completed_mode_(OVERSCROLL_NONE), |
107 delta_x_(0.f), | 80 delta_x_(0.f), |
108 delta_y_(0.f) {} | 81 delta_y_(0.f) {} |
109 | 82 |
110 ~TestOverscrollDelegate() override {} | 83 ~TestOverscrollDelegate() override {} |
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
699 EXPECT_TRUE(window->HasFocus()); | 672 EXPECT_TRUE(window->HasFocus()); |
700 | 673 |
701 // Check that we'll also say it's okay to activate the window when there's an | 674 // Check that we'll also say it's okay to activate the window when there's an |
702 // ActivationClient defined. | 675 // ActivationClient defined. |
703 EXPECT_TRUE(view_->ShouldActivate()); | 676 EXPECT_TRUE(view_->ShouldActivate()); |
704 } | 677 } |
705 | 678 |
706 // Checks that a popup is positioned correctly relative to its parent using | 679 // Checks that a popup is positioned correctly relative to its parent using |
707 // screen coordinates. | 680 // screen coordinates. |
708 TEST_F(RenderWidgetHostViewAuraTest, PositionChildPopup) { | 681 TEST_F(RenderWidgetHostViewAuraTest, PositionChildPopup) { |
709 TestScreenPositionClient screen_position_client; | 682 wm::DefaultScreenPositionClient screen_position_client; |
710 | 683 |
711 aura::Window* window = parent_view_->GetNativeView(); | 684 aura::Window* window = parent_view_->GetNativeView(); |
712 aura::Window* root = window->GetRootWindow(); | 685 aura::Window* root = window->GetRootWindow(); |
713 aura::client::SetScreenPositionClient(root, &screen_position_client); | 686 aura::client::SetScreenPositionClient(root, &screen_position_client); |
714 | 687 |
715 parent_view_->SetBounds(gfx::Rect(10, 10, 800, 600)); | 688 parent_view_->SetBounds(gfx::Rect(10, 10, 800, 600)); |
716 gfx::Rect bounds_in_screen = parent_view_->GetViewBounds(); | 689 gfx::Rect bounds_in_screen = parent_view_->GetViewBounds(); |
717 int horiz = bounds_in_screen.width() / 4; | 690 int horiz = bounds_in_screen.width() / 4; |
718 int vert = bounds_in_screen.height() / 4; | 691 int vert = bounds_in_screen.height() / 4; |
719 bounds_in_screen.Inset(horiz, vert); | 692 bounds_in_screen.Inset(horiz, vert); |
(...skipping 2214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2934 } | 2907 } |
2935 | 2908 |
2936 // Tests that when view initiated shutdown happens (i.e. RWHView is deleted | 2909 // Tests that when view initiated shutdown happens (i.e. RWHView is deleted |
2937 // before RWH), we clean up properly and don't leak the RWHVGuest. | 2910 // before RWH), we clean up properly and don't leak the RWHVGuest. |
2938 TEST_F(RenderWidgetHostViewGuestAuraTest, GuestViewDoesNotLeak) { | 2911 TEST_F(RenderWidgetHostViewGuestAuraTest, GuestViewDoesNotLeak) { |
2939 TearDownEnvironment(); | 2912 TearDownEnvironment(); |
2940 ASSERT_FALSE(guest_view_weak_.get()); | 2913 ASSERT_FALSE(guest_view_weak_.get()); |
2941 } | 2914 } |
2942 | 2915 |
2943 } // namespace content | 2916 } // namespace content |
OLD | NEW |