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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/bind.h" | 6 #include "base/bind.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/memory/shared_memory.h" | 8 #include "base/memory/shared_memory.h" |
9 #include "base/timer/timer.h" | 9 #include "base/timer/timer.h" |
10 #include "content/browser/browser_thread_impl.h" | 10 #include "content/browser/browser_thread_impl.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 #include "ui/aura/env.h" | 39 #include "ui/aura/env.h" |
40 #include "ui/aura/test/test_screen.h" | 40 #include "ui/aura/test/test_screen.h" |
41 #endif | 41 #endif |
42 | 42 |
43 #if defined(OS_WIN) || defined(USE_AURA) | 43 #if defined(OS_WIN) || defined(USE_AURA) |
44 #include "content/browser/renderer_host/ui_events_helper.h" | 44 #include "content/browser/renderer_host/ui_events_helper.h" |
45 #include "ui/events/event.h" | 45 #include "ui/events/event.h" |
46 #endif | 46 #endif |
47 | 47 |
48 using base::TimeDelta; | 48 using base::TimeDelta; |
49 using WebKit::WebGestureEvent; | 49 using blink::WebGestureEvent; |
50 using WebKit::WebInputEvent; | 50 using blink::WebInputEvent; |
51 using WebKit::WebMouseWheelEvent; | 51 using blink::WebMouseWheelEvent; |
52 using WebKit::WebTouchEvent; | 52 using blink::WebTouchEvent; |
53 using WebKit::WebTouchPoint; | 53 using blink::WebTouchPoint; |
54 | 54 |
55 namespace content { | 55 namespace content { |
56 | 56 |
57 // TestOverscrollDelegate ------------------------------------------------------ | 57 // TestOverscrollDelegate ------------------------------------------------------ |
58 | 58 |
59 class TestOverscrollDelegate : public OverscrollControllerDelegate { | 59 class TestOverscrollDelegate : public OverscrollControllerDelegate { |
60 public: | 60 public: |
61 explicit TestOverscrollDelegate(RenderWidgetHostView* view) | 61 explicit TestOverscrollDelegate(RenderWidgetHostView* view) |
62 : view_(view), | 62 : view_(view), |
63 current_mode_(OVERSCROLL_NONE), | 63 current_mode_(OVERSCROLL_NONE), |
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
432 } | 432 } |
433 | 433 |
434 // Sets the bounds returned by GetViewBounds. | 434 // Sets the bounds returned by GetViewBounds. |
435 void set_bounds(const gfx::Rect& bounds) { | 435 void set_bounds(const gfx::Rect& bounds) { |
436 bounds_ = bounds; | 436 bounds_ = bounds; |
437 } | 437 } |
438 | 438 |
439 const WebTouchEvent& acked_event() const { return acked_event_; } | 439 const WebTouchEvent& acked_event() const { return acked_event_; } |
440 int acked_event_count() const { return acked_event_count_; } | 440 int acked_event_count() const { return acked_event_count_; } |
441 void ClearAckedEvent() { | 441 void ClearAckedEvent() { |
442 acked_event_.type = WebKit::WebInputEvent::Undefined; | 442 acked_event_.type = blink::WebInputEvent::Undefined; |
443 acked_event_count_ = 0; | 443 acked_event_count_ = 0; |
444 } | 444 } |
445 | 445 |
446 const WebMouseWheelEvent& unhandled_wheel_event() const { | 446 const WebMouseWheelEvent& unhandled_wheel_event() const { |
447 return unhandled_wheel_event_; | 447 return unhandled_wheel_event_; |
448 } | 448 } |
449 int gesture_event_type() const { return gesture_event_type_; } | 449 int gesture_event_type() const { return gesture_event_type_; } |
450 InputEventAckState ack_result() const { return ack_result_; } | 450 InputEventAckState ack_result() const { return ack_result_; } |
451 | 451 |
452 void SetMockPhysicalBackingSize(const gfx::Size& mock_physical_backing_size) { | 452 void SetMockPhysicalBackingSize(const gfx::Size& mock_physical_backing_size) { |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
594 : process_(NULL), | 594 : process_(NULL), |
595 handle_key_press_event_(false), | 595 handle_key_press_event_(false), |
596 handle_mouse_event_(false) { | 596 handle_mouse_event_(false) { |
597 } | 597 } |
598 virtual ~RenderWidgetHostTest() { | 598 virtual ~RenderWidgetHostTest() { |
599 } | 599 } |
600 | 600 |
601 bool KeyPressEventCallback(const NativeWebKeyboardEvent& /* event */) { | 601 bool KeyPressEventCallback(const NativeWebKeyboardEvent& /* event */) { |
602 return handle_key_press_event_; | 602 return handle_key_press_event_; |
603 } | 603 } |
604 bool MouseEventCallback(const WebKit::WebMouseEvent& /* event */) { | 604 bool MouseEventCallback(const blink::WebMouseEvent& /* event */) { |
605 return handle_mouse_event_; | 605 return handle_mouse_event_; |
606 } | 606 } |
607 | 607 |
608 protected: | 608 protected: |
609 // testing::Test | 609 // testing::Test |
610 virtual void SetUp() { | 610 virtual void SetUp() { |
611 browser_context_.reset(new TestBrowserContext()); | 611 browser_context_.reset(new TestBrowserContext()); |
612 delegate_.reset(new MockRenderWidgetHostDelegate()); | 612 delegate_.reset(new MockRenderWidgetHostDelegate()); |
613 process_ = new RenderWidgetHostProcess(browser_context_.get()); | 613 process_ = new RenderWidgetHostProcess(browser_context_.get()); |
614 #if defined(USE_AURA) | 614 #if defined(USE_AURA) |
(...skipping 1321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1936 SendTouchEvent(); | 1936 SendTouchEvent(); |
1937 EXPECT_EQ(1U, process_->sink().message_count()); | 1937 EXPECT_EQ(1U, process_->sink().message_count()); |
1938 EXPECT_FALSE(host_->TouchEventQueueEmpty()); | 1938 EXPECT_FALSE(host_->TouchEventQueueEmpty()); |
1939 process_->sink().ClearMessages(); | 1939 process_->sink().ClearMessages(); |
1940 | 1940 |
1941 SendInputEventACK(WebInputEvent::TouchEnd, | 1941 SendInputEventACK(WebInputEvent::TouchEnd, |
1942 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); | 1942 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
1943 EXPECT_EQ(0U, process_->sink().message_count()); | 1943 EXPECT_EQ(0U, process_->sink().message_count()); |
1944 EXPECT_TRUE(host_->TouchEventQueueEmpty()); | 1944 EXPECT_TRUE(host_->TouchEventQueueEmpty()); |
1945 | 1945 |
1946 SimulateGestureEvent(WebKit::WebInputEvent::GestureScrollEnd, | 1946 SimulateGestureEvent(blink::WebInputEvent::GestureScrollEnd, |
1947 WebGestureEvent::Touchscreen); | 1947 WebGestureEvent::Touchscreen); |
1948 base::MessageLoop::current()->PostDelayedTask( | 1948 base::MessageLoop::current()->PostDelayedTask( |
1949 FROM_HERE, | 1949 FROM_HERE, |
1950 base::MessageLoop::QuitClosure(), | 1950 base::MessageLoop::QuitClosure(), |
1951 TimeDelta::FromMilliseconds(10)); | 1951 TimeDelta::FromMilliseconds(10)); |
1952 base::MessageLoop::current()->Run(); | 1952 base::MessageLoop::current()->Run(); |
1953 EXPECT_EQ(1U, process_->sink().message_count()); | 1953 EXPECT_EQ(1U, process_->sink().message_count()); |
1954 EXPECT_TRUE(host_->TouchEventQueueEmpty()); | 1954 EXPECT_TRUE(host_->TouchEventQueueEmpty()); |
1955 EXPECT_EQ(OVERSCROLL_NONE, host_->overscroll_mode()); | 1955 EXPECT_EQ(OVERSCROLL_NONE, host_->overscroll_mode()); |
1956 EXPECT_EQ(OVERSCROLL_NONE, host_->overscroll_delegate()->current_mode()); | 1956 EXPECT_EQ(OVERSCROLL_NONE, host_->overscroll_delegate()->current_mode()); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1994 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); | 1994 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
1995 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); | 1995 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); |
1996 EXPECT_EQ(0U, process_->sink().message_count()); | 1996 EXPECT_EQ(0U, process_->sink().message_count()); |
1997 EXPECT_EQ(OVERSCROLL_EAST, host_->overscroll_mode()); | 1997 EXPECT_EQ(OVERSCROLL_EAST, host_->overscroll_mode()); |
1998 EXPECT_EQ(OVERSCROLL_EAST, host_->overscroll_delegate()->current_mode()); | 1998 EXPECT_EQ(OVERSCROLL_EAST, host_->overscroll_delegate()->current_mode()); |
1999 EXPECT_EQ(55.f, host_->overscroll_delta_x()); | 1999 EXPECT_EQ(55.f, host_->overscroll_delta_x()); |
2000 EXPECT_EQ(5.f, host_->overscroll_delegate()->delta_x()); | 2000 EXPECT_EQ(5.f, host_->overscroll_delegate()->delta_x()); |
2001 EXPECT_EQ(-5.f, host_->overscroll_delegate()->delta_y()); | 2001 EXPECT_EQ(-5.f, host_->overscroll_delegate()->delta_y()); |
2002 | 2002 |
2003 // Send end event. | 2003 // Send end event. |
2004 SimulateGestureEvent(WebKit::WebInputEvent::GestureScrollEnd, | 2004 SimulateGestureEvent(blink::WebInputEvent::GestureScrollEnd, |
2005 WebGestureEvent::Touchscreen); | 2005 WebGestureEvent::Touchscreen); |
2006 EXPECT_EQ(0U, process_->sink().message_count()); | 2006 EXPECT_EQ(0U, process_->sink().message_count()); |
2007 EXPECT_EQ(OVERSCROLL_NONE, host_->overscroll_mode()); | 2007 EXPECT_EQ(OVERSCROLL_NONE, host_->overscroll_mode()); |
2008 EXPECT_EQ(OVERSCROLL_NONE, host_->overscroll_delegate()->current_mode()); | 2008 EXPECT_EQ(OVERSCROLL_NONE, host_->overscroll_delegate()->current_mode()); |
2009 EXPECT_EQ(OVERSCROLL_NONE, host_->overscroll_delegate()->completed_mode()); | 2009 EXPECT_EQ(OVERSCROLL_NONE, host_->overscroll_delegate()->completed_mode()); |
2010 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); | 2010 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); |
2011 EXPECT_EQ(1U, host_->GestureEventDebouncingQueueSize()); | 2011 EXPECT_EQ(1U, host_->GestureEventDebouncingQueueSize()); |
2012 base::MessageLoop::current()->PostDelayedTask( | 2012 base::MessageLoop::current()->PostDelayedTask( |
2013 FROM_HERE, | 2013 FROM_HERE, |
2014 base::MessageLoop::QuitClosure(), | 2014 base::MessageLoop::QuitClosure(), |
2015 TimeDelta::FromMilliseconds(10)); | 2015 TimeDelta::FromMilliseconds(10)); |
2016 base::MessageLoop::current()->Run(); | 2016 base::MessageLoop::current()->Run(); |
2017 EXPECT_EQ(1U, process_->sink().message_count()); | 2017 EXPECT_EQ(1U, process_->sink().message_count()); |
2018 process_->sink().ClearMessages(); | 2018 process_->sink().ClearMessages(); |
2019 EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize()); | 2019 EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize()); |
2020 EXPECT_EQ(0U, host_->GestureEventDebouncingQueueSize()); | 2020 EXPECT_EQ(0U, host_->GestureEventDebouncingQueueSize()); |
2021 | 2021 |
2022 SendInputEventACK(WebKit::WebInputEvent::GestureScrollEnd, | 2022 SendInputEventACK(blink::WebInputEvent::GestureScrollEnd, |
2023 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); | 2023 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
2024 EXPECT_EQ(0U, process_->sink().message_count()); | 2024 EXPECT_EQ(0U, process_->sink().message_count()); |
2025 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); | 2025 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); |
2026 EXPECT_EQ(0U, host_->GestureEventDebouncingQueueSize()); | 2026 EXPECT_EQ(0U, host_->GestureEventDebouncingQueueSize()); |
2027 | 2027 |
2028 // Start scrolling. Receive ACK as it being processed. | 2028 // Start scrolling. Receive ACK as it being processed. |
2029 SimulateGestureEvent(WebInputEvent::GestureScrollBegin, | 2029 SimulateGestureEvent(WebInputEvent::GestureScrollBegin, |
2030 WebGestureEvent::Touchscreen); | 2030 WebGestureEvent::Touchscreen); |
2031 EXPECT_EQ(1U, process_->sink().message_count()); | 2031 EXPECT_EQ(1U, process_->sink().message_count()); |
2032 EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize()); | 2032 EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize()); |
(...skipping 19 matching lines...) Expand all Loading... |
2052 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); | 2052 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
2053 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); | 2053 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); |
2054 EXPECT_EQ(0U, process_->sink().message_count()); | 2054 EXPECT_EQ(0U, process_->sink().message_count()); |
2055 EXPECT_EQ(OVERSCROLL_EAST, host_->overscroll_mode()); | 2055 EXPECT_EQ(OVERSCROLL_EAST, host_->overscroll_mode()); |
2056 EXPECT_EQ(OVERSCROLL_EAST, host_->overscroll_delegate()->current_mode()); | 2056 EXPECT_EQ(OVERSCROLL_EAST, host_->overscroll_delegate()->current_mode()); |
2057 EXPECT_EQ(235.f, host_->overscroll_delta_x()); | 2057 EXPECT_EQ(235.f, host_->overscroll_delta_x()); |
2058 EXPECT_EQ(185.f, host_->overscroll_delegate()->delta_x()); | 2058 EXPECT_EQ(185.f, host_->overscroll_delegate()->delta_x()); |
2059 EXPECT_EQ(-5.f, host_->overscroll_delegate()->delta_y()); | 2059 EXPECT_EQ(-5.f, host_->overscroll_delegate()->delta_y()); |
2060 | 2060 |
2061 // Send end event. | 2061 // Send end event. |
2062 SimulateGestureEvent(WebKit::WebInputEvent::GestureScrollEnd, | 2062 SimulateGestureEvent(blink::WebInputEvent::GestureScrollEnd, |
2063 WebGestureEvent::Touchscreen); | 2063 WebGestureEvent::Touchscreen); |
2064 EXPECT_EQ(0U, process_->sink().message_count()); | 2064 EXPECT_EQ(0U, process_->sink().message_count()); |
2065 EXPECT_EQ(OVERSCROLL_NONE, host_->overscroll_mode()); | 2065 EXPECT_EQ(OVERSCROLL_NONE, host_->overscroll_mode()); |
2066 EXPECT_EQ(OVERSCROLL_NONE, host_->overscroll_delegate()->current_mode()); | 2066 EXPECT_EQ(OVERSCROLL_NONE, host_->overscroll_delegate()->current_mode()); |
2067 EXPECT_EQ(OVERSCROLL_EAST, host_->overscroll_delegate()->completed_mode()); | 2067 EXPECT_EQ(OVERSCROLL_EAST, host_->overscroll_delegate()->completed_mode()); |
2068 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); | 2068 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); |
2069 EXPECT_EQ(1U, host_->GestureEventDebouncingQueueSize()); | 2069 EXPECT_EQ(1U, host_->GestureEventDebouncingQueueSize()); |
2070 | 2070 |
2071 base::MessageLoop::current()->PostDelayedTask( | 2071 base::MessageLoop::current()->PostDelayedTask( |
2072 FROM_HERE, | 2072 FROM_HERE, |
2073 base::MessageLoop::QuitClosure(), | 2073 base::MessageLoop::QuitClosure(), |
2074 TimeDelta::FromMilliseconds(10)); | 2074 TimeDelta::FromMilliseconds(10)); |
2075 base::MessageLoop::current()->Run(); | 2075 base::MessageLoop::current()->Run(); |
2076 EXPECT_EQ(1U, process_->sink().message_count()); | 2076 EXPECT_EQ(1U, process_->sink().message_count()); |
2077 process_->sink().ClearMessages(); | 2077 process_->sink().ClearMessages(); |
2078 EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize()); | 2078 EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize()); |
2079 EXPECT_EQ(0U, host_->GestureEventDebouncingQueueSize()); | 2079 EXPECT_EQ(0U, host_->GestureEventDebouncingQueueSize()); |
2080 | 2080 |
2081 SendInputEventACK(WebKit::WebInputEvent::GestureScrollEnd, | 2081 SendInputEventACK(blink::WebInputEvent::GestureScrollEnd, |
2082 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); | 2082 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
2083 EXPECT_EQ(0U, process_->sink().message_count()); | 2083 EXPECT_EQ(0U, process_->sink().message_count()); |
2084 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); | 2084 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); |
2085 EXPECT_EQ(0U, host_->GestureEventDebouncingQueueSize()); | 2085 EXPECT_EQ(0U, host_->GestureEventDebouncingQueueSize()); |
2086 } | 2086 } |
2087 | 2087 |
2088 TEST_F(RenderWidgetHostTest, OverscrollDirectionChange) { | 2088 TEST_F(RenderWidgetHostTest, OverscrollDirectionChange) { |
2089 host_->SetupForOverscrollControllerTest(); | 2089 host_->SetupForOverscrollControllerTest(); |
2090 host_->set_debounce_interval_time_ms(100); | 2090 host_->set_debounce_interval_time_ms(100); |
2091 process_->sink().ClearMessages(); | 2091 process_->sink().ClearMessages(); |
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2477 | 2477 |
2478 TEST_F(RenderWidgetHostTest, InputRouterReceivesHasTouchEventHandlers) { | 2478 TEST_F(RenderWidgetHostTest, InputRouterReceivesHasTouchEventHandlers) { |
2479 host_->SetupForInputRouterTest(); | 2479 host_->SetupForInputRouterTest(); |
2480 | 2480 |
2481 host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, true)); | 2481 host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, true)); |
2482 | 2482 |
2483 EXPECT_TRUE(host_->mock_input_router()->message_received_); | 2483 EXPECT_TRUE(host_->mock_input_router()->message_received_); |
2484 } | 2484 } |
2485 | 2485 |
2486 } // namespace content | 2486 } // namespace content |
OLD | NEW |